Хотелось бы узнать, есть ли разница между:
MOV [BX] + 20, AX
и
MOV [BX + 20], AX
Я рассуждаю так: для первого случая мы перемещаем значение AX + 20 в адрес BX
AX + 20
BX
А во втором случае мы перемещаем значение AX в адрес BX+ 20
AX
BX+ 20
Спасибо.
Некоторые компиляторы ассемблера допускают обе комбинации. Однако отладчик должен дать вам правильный ответ!
Test.asm.5: MOV [BX] + 20, AX 004552B4 894314 mov [bx+$14],ax Test.asm.6: MOV [BX + 20], AX 004552B7 894314 mov [bx+$14],ax
Ваши рассуждения о первом случае неверны.Это недопустимая конструкция (если у вас не определен макрос, чтобы превратить его в 2 инструкции).Вы не можете вставить значение ADD в середине MOV.Вы можете использовать только непосредственное смещение по адресу (второй случай).