XCHG AL, SEMA ; Обмен байтами память - регистр
XCHG AL, BL ; Обмен байтами регистр - регистр
XCHG AX, CX ; Обмен словами регистр - аккумулятор
Отметим следующее:
в команде XCHG нельзя указывать сегментные регистры,
команда XCHG AX, AX используется как команда пустой операции NOP.
Команда XLAT. Однобайтная команда преобразования XLAT с кодом операции D7 заменяет содержимое аккумулятора AL на байт из 256-байтной таблицы, начальный адрес которой находится в регистре BX. Другими словами, содержимое AL используется как индекс таблицы, адресуемой регистром BX. Алгоритм выполнения команды XLAT состоит из двух шагов:
1) прибавить содержимое регистра AL к содержимому регистра BX;
2) использовать результат как смещение в сегменте данных (относительно DS) и поместить адресуемый байт из памяти в регистр AL.
Команда XLAT обычно применяется для быстрого преобразования символов из одного символьного кода в другой. Время ее выполнения составляет 11 тактов синхронизации.
Пример :( AL)=47 XLAT ( AL)= E1
( BX)=1200
( DS)= F000
([ F1247])= E1
Изучить выполнение команды MOV dst , src с косвенной адресацией, имеющей форматы MOV mem / reg 1, MOV mem / reg 2; MOV mem / reg , data:
MOV AX, [DI]
MOV [SI], BL
INT3
Перейти в поле 2, нажав клавишу F7. Ввести команды D 100, A и выше указанную программу. Выйти из режима ассемблирования, нажав одновременно две клавиши ctrl+ enter. В соответствующих регистрах и ячейках памяти записать указанные числа. Выполнить программу в пошаговом режиме, многократно нажимая клавишу F2. Изучить выполнение команды MOV dst , src с базовой адресацией, имеющей форматы MOV mem / reg 1, mem / reg 2; MOV mem / reg , data:
|
|
MOV AX, [BP+10]
MOV [BX], DL
INT3
Перейти в поле 2, нажав клавишу F7. Ввести команды D 100, A и выше указанную программу. Выйти из режима ассемблирования, нажав одновременно две клавиши ctrl+ enter. В соответствующих регистрах и ячейках памяти записать указанные числа. Выполнить программу в пошаговом режиме, многократно нажимая клавишу F2.
4.6. Изучить выполнение команды MOV dst , src с индексной адресацией, имеющей форматы MOV mem / reg 1, mem / reg 2; MOV mem / reg , data:
MOV [SI+5], AX
MOV DX, [DI+10]
MOV [ SI], 34
INT3
Перейти в поле 2, нажав клавишу F7. Ввести команды D 100, A и выше указанную программу. Выйти из режима ассемблирования, нажав одновременно две клавиши ctrl+ enter. В соответствующих регистрах и ячейках памяти записать указанные числа. Выполнить программу в пошаговом режиме, многократно нажимая клавишу F2.
4.7. Изучить выполнение команды MOV dst, src с базовой индексной адресацией, имеющей форматы MOV mem/reg1, mem/reg2; MOV mem/reg, data:
MOV AX, [BP+SI]
MOV [BX+DI], CX
MOV [BX+SI+4], 34
INT3
Перейти в поле 2, нажав клавишу F7. Ввести команды D 100, A и выше указанную программу. Выйти из режима ассемблирования, нажав одновременно две клавиши ctrl+ enter. В соответствующих регистрах и ячейках памяти записать указанные числа. Выполнить программу в пошаговом режиме, многократно нажимая клавишу F2.
|
|
Домашнее задание
Составить фрагмент программы в соответствии с вариантом домашнего задания и оформить его в виде таблицы 1.
Содержание отчета:
1. Название работы.
2. Цель работы.
3. Фрагмент программы в таблице 1.
4. Таблица 2 с результатами работы.
5. Фрагмент программы домашнего задания, оформленный в виде таблицы 1 с результатами каждого шага, записанными в графе «комментарии».
6. Вывод о проделанной работе.
Контрольные вопросы:
1. Назначение команды MOV.
2. Назначение команды XLAT, LEA.
3. Назначение команды XCHG.
4. Назначение команд SAHF, LAHF.
5. Чем отличаются команды ADD и ADC?
6. Где находится второй множитель в командах умножения?
7. В каких регистрах находится результат после умножения?
8. В каких регистрах находится результат после деления?
Литература
1. Майко Г.В. «Ассемблер для IBM PC»: - М.: «Бизнес-Информ», «Сирин», 1999г. – 212с.
2. Юров В., Хорошенко С. «Аssembler»: учебный курс – СПб: Питер Ком, 1999г. – 672 с.
Варианты домашнего задания
Дата добавления: 2022-12-03; просмотров: 22; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!