ВУЗ:
Составители:
Рубрика:
21
Пример:
DIV BX ; AX/BX
DI MEM_BYTE ; AX/MEM_byte
IDIV DL ; AL/DL
Команды DIV и IDIV не позволяют не позволяют прямо разделить на непосредственное значение;
его надо предварительно загрузить в регистр или ячейку памяти.
Команды преобразования
Если операнды, участвующие в арифметических операциях, разные, то в этом случае
используются вспомогательные команды.
Существуют два вида команд преобразования типа.
1. Команды без операндов – эти команды работаю с фиксированными регистрами.
• cbw - команда преобразования байта (в регистре al) в слово (в регистрах ax) путем
распространения значения старшего бита ax на все биты регистра ah.
• cwd – команда преобразования слова (в регистре dx:ax) путем распространения
значения старшего бита ax на все биты регистра dx
• cwde – команда преобразования слова (в регистре ax) в двойное слово (в регистре
eax) путем распространения значения старшего бита ax на все биты старшей
половины регистра eax.
• cdq команда преобразования двойного слова (в регистре eax) в учетверенное слово
(в регистрах edx:eax) путем распространения значения старшего бита eax на все
биты регистра edx.
Команды манипулирования битами.
Все команды манипулирования битами делятся три типа:
• Логические команды
• Команды сдвига
• Команды логического сдвига.
Логические команды
and источник, приемник –операция логического умножения. Команда выполняет поразрядное
логическую операцию И (конъюнкция) Результат записывается в приемник.
or источник, приемник –операция логического сложения. Команда выполняет поразрядное
логическую операцию ИЛИ (дизъюнкция) Результат записывается в приемник.
xor источник, приемник –операция логического исключающего сложения. Команда выполняет
поразрядное логическую
операцию исключающего сложения Результат записывается в приемник.
0 xor 0 =0
1 xor 0 =1
0 xor 1 =1
0 xor 0 =0
xor ax,ax ; ax=0
test источник, приемник –. операция проверить. Команда выполняет поразрядное логическую
операцию И Результат никуда не записывается. Изменяется состояние флагов Zf, sf и cf/
not операнд – операция логического отрицания. Поразрядное инвертирование каждого бита
операнда. Результат записывается в операнд.
Команды сдвига
Общий формат этих команд
КОП операнд, счетчик_сдвигов
Команды этой группы обеспечивают манипуляции над отдельными битами операндов, но иным
способом, чем логически команды, рассмотренные выше. Все команды сдвига помещают биты в
поле операнда влево или вправо, в зависимости кода операции.
Все команды сдвига делятся на команды:
Пример: DIV BX ; AX/BX DI MEM_BYTE ; AX/MEM_byte IDIV DL ; AL/DL Команды DIV и IDIV не позволяют не позволяют прямо разделить на непосредственное значение; его надо предварительно загрузить в регистр или ячейку памяти. Команды преобразования Если операнды, участвующие в арифметических операциях, разные, то в этом случае используются вспомогательные команды. Существуют два вида команд преобразования типа. 1. Команды без операндов – эти команды работаю с фиксированными регистрами. • cbw - команда преобразования байта (в регистре al) в слово (в регистрах ax) путем распространения значения старшего бита ax на все биты регистра ah. • cwd – команда преобразования слова (в регистре dx:ax) путем распространения значения старшего бита ax на все биты регистра dx • cwde – команда преобразования слова (в регистре ax) в двойное слово (в регистре eax) путем распространения значения старшего бита ax на все биты старшей половины регистра eax. • cdq команда преобразования двойного слова (в регистре eax) в учетверенное слово (в регистрах edx:eax) путем распространения значения старшего бита eax на все биты регистра edx. Команды манипулирования битами. Все команды манипулирования битами делятся три типа: • Логические команды • Команды сдвига • Команды логического сдвига. Логические команды and источник, приемник –операция логического умножения. Команда выполняет поразрядное логическую операцию И (конъюнкция) Результат записывается в приемник. or источник, приемник –операция логического сложения. Команда выполняет поразрядное логическую операцию ИЛИ (дизъюнкция) Результат записывается в приемник. xor источник, приемник –операция логического исключающего сложения. Команда выполняет поразрядное логическую операцию исключающего сложения Результат записывается в приемник. 0 xor 0 =0 1 xor 0 =1 0 xor 1 =1 0 xor 0 =0 xor ax,ax ; ax=0 test источник, приемник –. операция проверить. Команда выполняет поразрядное логическую операцию И Результат никуда не записывается. Изменяется состояние флагов Zf, sf и cf/ not операнд – операция логического отрицания. Поразрядное инвертирование каждого бита операнда. Результат записывается в операнд. Команды сдвига Общий формат этих команд КОП операнд, счетчик_сдвигов Команды этой группы обеспечивают манипуляции над отдельными битами операндов, но иным способом, чем логически команды, рассмотренные выше. Все команды сдвига помещают биты в поле операнда влево или вправо, в зависимости кода операции. Все команды сдвига делятся на команды: 21