У меня есть основной вопрос о сборке.
Зачем нам делать арифметические операции только на регистрах, если они могут работать и с памятью?
Например, обе следующие причины (по существу) одинаковое значение, которое должно быть рассчитано как ответ:
Фрагмент 1
.data
var dd 00000400h
.code
Start:
add var,0000000Bh
mov eax,var
;breakpoint: var = 00000B04
End Start
Фрагмент 2
.code
Start:
mov eax,00000400h
add eax,0000000bh
;breakpoint: eax = 0000040B
End Start
Из того, что я вижу, большинство текстов и руководств делают арифметические операции в основном на регистрах. Разве быстрее работать с регистрами?
Изменить: это было быстро:)
Было дано несколько отличных ответов; лучший ответ был выбран на основе первого хорошего ответа.