Запись данных в регистр - Assembler
Формулировка задачи:
Всегда интересовал один вопрос, всегда на него находил ответ, и также успешно забывал.
А именно поведение команды mov.
К примеру:
Есть ли разница между этими примерами?
Просто иногда замечаю, что в регистрах лежит значение [4010h], хотя я записывал [1040h]
И если происходит такая смена байт местами, то с чем это связанно.
mov ax, 1000h ;ax = 1000h?
mov ax, dword 1000h ;ax = 1000h?
Решение задачи: «Запись данных в регистр»
textual
Листинг программы
mov [bx],0h *Warning* 180216.ASM(6) Argument needs type override String db 10 dup(?)
Объяснение кода листинга программы
- В данном коде используется инструкция mov для записи данных в регистр [bx].
- Значение, которое записывается в регистр [bx], равно 0h.
- В коде присутствует строка, которая состоит из 10 символов, но эти символы не определены и обозначены как
?
. - Эта строка помещена в сегмент данных и имеет атрибут
db
, что означает, что она является строкой, содержащей символы. - Код содержит предупреждение, которое указывает на то, что аргумент нуждается в явном указании типа переменной.