#assembly #masm #x86-16
#сборка #masm #x86-16
Вопрос:
Я хотел бы знать, есть ли разница между:
MOV [BX] 20, AX
и
MOV [BX 20], AX
Я рассуждаю так, что для 1-го случая мы перемещаем значение AX 20
в адрес BX
И для 2-го случая мы перемещаем значение AX
в адрес BX 20
Спасибо.
Ответ №1:
Некоторые компиляторы на ассемблере допускают обе комбинации. Однако отладчик должен дать вам правильный ответ!
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:
Ваши рассуждения в первом случае неверны. Это недопустимая конструкция (если только у вас не определен макрос для преобразования его в 2 инструкции). Вы не можете вставить добавленное значение в середине перемещения. Вы можете использовать только непосредственное смещение к адресу (второй случай).