Size: a a a

Ассемблер

2021 April 14

A

Aleksandr in Ассемблер
Любимое
источник

3I

33 Ivan in Ассемблер
Могу текстом если удобнее
источник

A

Aleksandr in Ассемблер
Текстом на гист или пастебин
источник

3I

33 Ivan in Ассемблер
Зачем же все так усложнять
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
тебе наверное лучше разделить задачи. ввод строки отделно, проверка что введены цыфры с учетом знака - отдельно. а потом уже преобразовать строку в число. у тя вроде это все паралельно делается. это усложняет отладку т понимание алгоритма кода
источник

3I

33 Ivan in Ассемблер
Тогда алгоритм кода нужно переписывать
источник

3I

33 Ivan in Ассемблер
Я пытался сделать как ты написал но у меня не очень получается использовать эффективные адреса в насме
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
типа

call input
call checkNum
call a2i
источник

3I

33 Ivan in Ассемблер
Но ведь алгоритм останется прежним, разве что читаемость повысится немного
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
да
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
и отладку легче проводить поэтапно
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
твой метод хорош если ты пытаешься както соптимизировать код на размер или скорость скидывая куски алгоритма в одну ветку исполнения, но ведь это нет так. ты просто хочешь чтоб он заработал так как надо
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
ты вводишь символ и сразу его преобразовываешь в  число, не надо так. введи сначало полностью строку, а потом в цикле преобразовывай каждый символ в цифру, а из цифру в число
источник

3I

33 Ivan in Ассемблер
В этом у меня была проблема
Я понял вчера принцип обращения к отдельным символам в строке, но не смог реализовать его на насме из-за странностей работы эффективных адресов
источник

3I

33 Ivan in Ассемблер
Решил сделать другой алгоритм
источник

3I

33 Ivan in Ассемблер
И он работает, правда наполовину
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
что ты подразумеваешь под эффективным адресом? вроде ты негде не используешь lea
источник

3I

33 Ivan in Ассемблер
Эффективный адрес — это любой операнд инструкции со ссылкой на память. Эффективные адреса в NASM имеют очень простой синтаксис: они содержат выражение (в результате вычислений которого получается нужный адрес), обрамленное квадратными скобками. Например:

wordvar   dw 123
    mov ax,[wordvar]
    mov ax,[wordvar+1]
    mov ax,[es:wordvar+bx]
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
полнял
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
а ты вообще с отладчиком работаешь?
источник