Курс лекций по программированию на языке ассемблера. Макурина Т.А. - 21 стр.

UptoLike

Составители: 

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