Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Примечания. Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного

Параметры | Заметки | Параметры | Параметры | Примечания | Примеры | Параметры | Примечания | Примеры | Примечания |


Читайте также:
  1. О примечаниях
  2. Примечания
  3. Примечания
  4. Примечания
  5. Примечания
  6. Примечания
  7. ПРИМЕЧАНИЯ

Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр можно пропустить. По умолчанию для команд debug a, g, l, t, u и w адрес сегмента содержится в регистре CS. Для других подкоманд по умолчанию используется сегмент DS. Все числовые значения при этом представлены в шестнадцатеричном формате. Между именем сегмента и значением смещения следует вставлять двоеточие. Примеры правильных адресов:

CS:0100

04BA:0100

Задайте мнемонику префикса инструкции перед кодом операции (т. е. opcode), к которой она относится. Команда a создает исполняемый машинный код из инструкций на языке ассемблера. Все числовые значения должны быть представлены в шестнадцатеричном формате и записаны как набор от 1 до 4 символов.

Мнемоники cs:, ds:, es: и ss:. Мнемоникой, вызывающей возврат управления в другой сегмент кода (far return), является retf. Мнемоники для работы со строками должны точно определять размер элементов строк. Например, для перемещения строк из слов (16 бит) следует использовать movsw, а для перемещения строк из байтов (8 бит) следует использовать movsb.

Ассемблер автоматически обрабатывает переходы и вызовы (т. е. префиксы short, near или far) в зависимости от смещения байтов. Имеется возможность переопределить переходы или вызовы с помощью префиксов near или far. Например:

-a0100:0500
0100:0500 jmp 502; короткий (short) переход на 2 байта
0100:0502 jmp near 505; ближний (near) переход на 3 байта
0100:0505 jmp far 50a; длинный (far) переход на 5 байтов

Вместо префикса near можно использовать сокращение ne.

Если операнды ссылаются на адреса слов или байтов в памяти, тип данных должен быть задан с использованием префикса word ptr или byte ptr, которые можно сократить до wo для word ptr и до by для byte ptr. Например:

dec wo [si]
neg byte ptr [128]

В программе Debug.exe используется общее соглашение о том, что операнды, указывающие на адрес в памяти, заключаются в квадратные скобки ([ ]). Это единственный способ, который позволяет различать непосредственные операнды и ссылки на области в памяти в Debug.exe. Например:

mov ax,21; загрузить число 21h в регистр AX
mov ax,[21]; загрузить содержимое
; памяти по адресу 21h
; в регистр AX

С командой a часто используются две псевдоинструкции: операция db, которая размещает байты непосредственно в памяти, и операция dw, которая размещает в памяти слова. Например:

db 1,2,3,4,"ЭТО ПРИМЕР"
db 'ЭТО КАВЫЧКА: "'
db "ЭТО КАВЫЧКА: '"
dw 1000,2000,3000,"BACH"

Дополнительные сведения о вводе данных в определенные байты с помощью команды e (enter) см. по ссылке «».

Дополнительные сведения о деассемблировании байт с помощью команды u (unassemble) см. по ссылке «».


Дата добавления: 2015-08-17; просмотров: 38 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Примеры| Примечания

mybiblioteka.su - 2015-2024 год. (0.006 сек.)