- •Лекция №33 Адресация регистров и ячеек памяти в ассемблере. Основные команды языка ассемблер.
- •Адресация регистров и ячеек памяти в ассемблере
- •1.1 Непосредственная адресация
- •1.2 Прямая адресация регистров мпп
- •1.3 Адресация ячеек оп
- •Основные команды ассемблера
- •2.1 Команды пересылки данных
- •2.2 Арифметические команды
- •2.3 Команды сложения, вычитания и сравнения
- •2.4 Команды приращения
- •2.5 Команды умножения
- •2.6 Команды деления
- •2.7 Логические команды
- •2.8 Команды безусловной передачи управления
- •2.9 Команды перехода к подпрограмме и выхода из подпрограммы
- •2.10 Команда перехода к подпрограмме: calLopr
- •2.11 Команда выхода из подпрограммы
- •2.12 Команды условной передачи управления
- •2.13 Команды управления циклами
- •2.14 Команды прерывания
2.6 Команды деления
Команды деления — одноадресные, указывается только SRC(делитель); DST(делимое) задается строго определенным образом.
DIVsrc— деление (divide— делить). Выполняет деление беззнакового делимого (16 или 32 бит) на беззнаковый делитель (8 или 16 бит). Команда одно адресная — указывается только SRC(делитель);DST(делимое) берется строго определенным образом. SRC может быть представлен оператором типа г или m(і — нельзя). Если формат SRC— байт, то делимое (слово) находится в АХ, частное от деления (байт) будет вAL, остаток от деления (байт) помещается в АН; если формат SRC— слово, то делимое (двойное слово) заносится в DX;AX(старшие два байта в DX, младшие — в АХ), частное от деления (слово) в АХ, остаток от деления (байт) сохраняется в DL Команда DIV формирует флаг IF(IF- 1 при делении на 0 и при делении большого числа на очень малое, если частное вне диапазона); воздействует на флаги AF,CF,OF,PF,SF,ZF (флаги не определены).
IDIVsrc— деление целых чисел со знаком (integerdivide— деление целых чисел со знаком). Выполняет деление знакового делимого (16 или 32 бит) на знаковый делитель (8 или 16^ бит). Команда одноадресная — указывается только SRC(делитель);DST(делимое) берется строго определенным образом. SRC может быть представлен оператором типа г или m(і — нельзя). Если формат SRC— байт, то делимое (слово) — в АХ, частное от деления (байт) бу дет в AL, остаток от деления (байт) — в АН; если формат SRC— слово, то дели мое (двойное слово) попадает в DX:AX(старшие два байта в DX, младшие в АХ), частное от деления (слово) — в АХ, остаток от деления (байт) — в DL Команда IDIV формирует флаг IF(IF= 1 при делении на 0 и при делении большого числа на очень малое, если частное вне диапазона), воздействует на флаги AF,CF,OF,PF,SF,ZF(флаги не определены).
2.7 Логические команды
Это двухадресные команды, они используются для сравнения, сброса и установки битов операнда в операциях преобразования кодов и при выполнении арифметических операции в кодах ASCII.
ORdst,src— логическое сложение (or— или). Команда выполняет поразрядную дизъюнкцию, (логическое сложение — операцию ИЛИ) битов двух операндов; устанавливает 1 в тех битах операнда dst, в которых была 1 хотя бы у одного из исходных операндов. Операнды dst и src должны иметь одинаковый формат (оба или байт, или слово) и могут быть: src типа г,m,i; dst типа г, m(невозможно rsegm и нельзя, чтобы оба типа были т). Команда OR сбрасывает OF- 0 и CF' 0; формирует PF,SF,ZF; значение AF не определено.
ANDdst,src— логическое умножение (and— и). Команда выполняет поразрядную конъюнкцию (логическое умножение — операцию И) битов двух операндов; устанавливает 1 в тех битах операнда dst, в которых у обоих исходных операндов были 1. Операнды dst и src должны иметь одинаковый формат (оба или байт или слово) и могут быть: src типа г,m,i; dst типа г,m(невозможно rsegm и нельзя, чтобы оба типа были т). Флаги: OF= 0 и CF= 0; команда формирует PF,SF,ZF; значение AF не определено.
