Пересылка операнда с расширением нулями до размера приемника
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Пр:= [0] + ист.

R, R/M.

--

--

--

--

--

--

--

--

--  

Movzx ax ,62 H; Перемещает 62Н в

                      AL и 00 в AH.

 

MOVSX

пр,ист.

Пересылка операнда со знаковым расширением до размера приемника

Пр:= [3H] + ист.

--

--

--

--

--

--

--

--

--

 

Movsx ax ,92 h; Перемещает 92Н

                      в AL и FF в AH.

 

 

Команды ввода-вывода

IN пр,ист

Ввод операнда из порта в регистр.

Пр.- рег. (al,ax,eax)

Ист. - im (порт №), или содержимое рег. DX.

--

--

--

--

--

--

--

--

--

 

Mov dx ,20; Номер порта для        

                 команды IN помещаем

                 в DX.

IN eax , dx; Вводит двойное слово

                 в EAX. Из порта 20.

                                             

Продолжение таблицы 3.6

Мнемокод

Описание команд

Флаги, пояснения, примеры

OF

DF

IF

TF

SF

ZF

AF

PF

CF

OUT пр,ист

Вывод операнда из регистра в порт

Пр.- ib (порт или содержимое DX)

Ист.- рег. (al,ax,eax).

--

--

--

--

--

--

--

--

--

Mov al ,20 h; Загружает код пробела в         

               AL.                                

Out 30, al;Выводит его в порт №30.

Команды пересылки адреса

LEA пр,ист.

Загрузка исполнительного адреса в регистр

Пр. – регистр

Ист. - яч. памяти/рег.

--

--

--

--

--

--

--

--

--

Lea bx , mem 1;Загрузка адреса 

                    ячейки памяти mem1

                     в регистр BX..

 

LDS пр,ист.

Загрузка полного адреса в приемник.

Пр.- это  DS и один из РОН.

Ист.- адрес ячейки памяти.

--

--

--

--

--

--

--

--

--

Lds di , tab 1;Загрузка адреса

                 сегмента данных в      

                 регистр DS, а

                 смещение tab1 в DI.

LES пр,ист.

Загрузка полного адреса в приемник.

Пр. – ES и один из РОН.

Ист.- адрес ячейки памяти.

--

--

--

--

--

--

--

--

--

Les si , tab 2; Загрузка адреса

                  сегмента данных в ES,

                  а смещение tab2 

                  в регистр SI.

 

LFS пр,ист.

Загрузка полного адреса в приемник

Пр. - FS. и один из РОН.

Ист. - адрес ячейки памяти.

--

--

--

--

--

--

--

--

--

Lfs ax , tab 3; Загрузка адреса

                  сегмента данных в FS,

                  а смещение tab3

                  в регистр в AX.

 

LGS пр,ист.

Загрузка полного адреса в приемник.

Пр. - GS. и один из РОН.

Ист.- адрес ячейки памяти.

--

--

--

--

--

--

--

--

--

Lgs cx , tab 4; Загрузка адреса

                 сегмента данных в GS,

                 а смещение tab3 в 

                 регистр в CX.

 

                                     

 

Продолжение таблицы 3.6

Арифметические команды

Команды сложения

Мнемокод

Описание команд

Флаги, пояснения, примеры

OF

DF

IF

TF

SF

ZF

AF

PF

CF

ADD пр,ист.

Сложение операндов

Пр:= пр + ист

r/m/i,r/m/im.

*

--

--

--

*

*

*

*

*

Add ax , memw; Добавить содержи-

                    мое ячейки памяти к

                    регистру AX.

Add memw , ax; или наоборот.

Add al ,10; Добавить 10 к AL.

Add ax , bx; Сложить два регистра.

ADC пр,ист.

Сложение операндов и флага переноса СF.

Пр:= пр + ист + CF

r/m/i,r/m/im.

*

--

--

--

 *

 *

 *

 *

 *

Mov ax ,956;Загружает 3ВСН в АХ.

Mov bx ,373;Загружает 175Н в ВХ.

Add al , bl; Суммирует 0ВСН и 75Н.

               Результат: 31Н, CF=1.

Adc ah , bh;Суммирует 3 , 1 и CF,

    результат в АХ = 531Н (1329).

AAA

ASCII- коррекция AL после сложения

Если AL > 9, то инкремент AL на 6. AL: =0000XXXX+6

 Установить            AL:= 0000XXXX

AH: = AH + 1.

 ?

--

--

--

 ?

 ?

 *

 ?

 *

 

Mov al ,38;Загружаем слагаемые представленные в ASCII формате.

Mov bl, 34; AL и BL.

Add al,bl;К AL прибавили 4.

Aaa; AX=0102H, CF=AF=1

OR ax ,3030 H; Преобразуем 

                результат в ASCII код.

 

DAA

Десятичная коррекция AL после сложения упакован-

ных десятичных (ВСД) чисел.

?

--

--

--

*

*

*

*

*

 

Mov ax,18H; 18ВСД в AL.

Add al,6; AL + 6BCD =1ЕН.

Daa; в АХ 24ВСД, CF=0, AF=1.

 

 

INC пр

Инкремент приёмника.

Пр.: = пр. + 1

Пр. – рег./память.

*

--

--

--

*

*

*

*

--

 

Mov ax ,956; Загружает 956 (3ВСН)    

                   в АХ.

Inc ax; Теперь в АХ 957 (3ВДН), то

        есть содержимое регистра 

        увеличивается на единицу.

 
                                                           

 

Продолжение таблицы 3.6

Команды вычитания

Мнемокод

Описание команд

Флаги, пояснения, примеры

OF

DF

IF

TF

SF

ZF

AF

PF

CF

SUB пр,ист.

Целочисленное вычитание.

Пр.: = пр. – ист.

*

--

--

--

*

*

*

*

*

Mov ax ,1329; Загружает 531H в AX,

Mov bx ,373; Загружает 175H в BX,

Sub ax,bx; AX = 956 (3BCH).

SBB пр,ист.

Вычесть с заемом.

Вычитает из приемника источник и содержимое флага

CF.

Пр.:= пр. – ист. – CF

*

--

--

--

*

*

*

*

*

Mov ax , 1329; Загрузить 531H в AX.

Mov bx ,373; Загрузить 175H в BX.

Sub al , bl; Вычесть 75H из 31H,

Sbb ah , bh; Вычесть 1 и CF из 5,

             давая 3. Полная разность

               в AX = 956 (3BCH)

 

DEC пр.

Декремент операнда.

Уменьшение операнда на 1.

Пр.: = пр. – 1

*

--

--

--

*

*

*

*

--

Mov ax ,956; Загружает 3ВСН в АХ.

Dec ax ; Уменьшает АХ на 1,

                    АХ = 955 (3ВВН).

NEG пр.

 

Изменение знака. Инвертирование и

Инкремент операнда.

Пр.: = пр. + 1 или

Пр.: = 0 – пр.

*

--

--

--

*

*

--

*

*

 Mov ax ,579 BH; В АХ 579ВН.

Neg ax; В АХ 0А865Н (то же что и      

          вычитание операнда из

          нуля.               

AAS

 

ASCII- коррекция AL после вычитания

Если AL > 9 

То AL:=0000XXXX-6

 Установить AL:=0000XXXX AH:=AH - 1

*

--

--

--

?

?

*

 ?

*

Mov al ,34Н; Загружаем вычитаемые представленные в ASCII формате

Mov bl , 38Н; в AL и BL.

Sub al,bl;Из AL вычли 8.

Aas; AX=FF06H, CF=AF=1.

OR ax ,0030 H; Преобразуем 

                результат в ASCII код.

CMP пр.,

ист.

Сравнение.

 Вычитает второй операнд из первого, устанавливая признаки в регистре флагов.

Пр. – ист.

*

--

--

--

*

*

*

*

*

Mov ax ,956; Загружает 3ВСН в АХ

Mov bx ,373; Загружает 175Н в ВХ

Cmp ax , bx; Вычитает из ax, bx и

                 устанавливает флаги.

                В  АХ осталось 956.

                                                     

Продолжение таблицы 3.6

Команды умножения

Мнемокод

Описание команд

Флаги, пояснения, примеры

OF

DF

IF

TF

SF

ZF

AF

PF

CF

MUL ист.

Беззнаковое умножение.

AX : = AL × ист.

 

*

--

--

--

?

?

?

?

*

Mov al ,80 H;В АL загружается 128.

Mov bl ,47H; В ВL загружается 64.

Mul bl; В AX результат -2000 (7D0).

 

IMUL ист.

IMUL пр,ист.

Знаковое умножение

AX := AL × ист.

DX : AX = AX × ист

EDX : EAX:=

 EAX × ист

*

--

--

--

?

?

?

?

*

Mov al ,80 H;В АL загружается -128.

Mov bl ,47H; В ВL загружается 64.

Imul bl; В AX результат E000Н.

AAM

Преобразование данных из ASCII кода, в двоичный код после умножения.

Делит AL на 10. Частное в AH. Остаток в AL.

 ?

 --

 --

 --

 *

 *

 ? 

*

 ?

Mov al , 35 H; Сомножители в ASCII

Mov cl , 39 H; формате.

And al , 0 FH; Преобразуем в

And cl , 0 FH; двоичный код.

Mul cl; Умножим AL на CL.

AAM; Преобразуем результат.

OR ax , 3030 H; Представим его в   

                     ASCII формате.

 

Команды деления

DIV ист.

Беззнаковое деление.

Пр:= DX:AX / ист.

Ист.-DB -байт

Частное AL:= AX/ист

Остаток AH:= AX/ист

Ист.- DW- слово

AX:DX := DX:AX/ ист

Ист. – DD- дв. слово

EDX,EAX:=EDX,

EAX / ист.

 

?

--

--

--

?

?

?

?

?

Mov al , byte 1; Переслать в AL байт.

Sub ah , ah; Расширить делимое.

Div byte 2; Деление байта на байт.

Mov ax , word 1; В АН слово.

Div byte 1; Деление слова на на байт.

Mov dx , word 2; В DX слово2.

Mov ax , word 3; В AX слово3.

Div word 1; Дв.слово  на слово

Mov edx , dword 4; В ЕDX дв.слово.

Mov eax , dword 5; В ЕAX дв.слово.

Div dword 6; Деление учетверенного

                слова на двойное слово

 

                                     

Продолжение таблицы 3.6

Мнемокод

Описание команд

Флаги, пояснения, примеры

OF

DF

IF

TF

SF

ZF

AF

PF

CF

IDIV ист.

Знаковое деление.

Выполняет деление знаковых чисел.

Пр:= пр / ист.

?

--

--

--

?

?

?

?

?

Mov ax ,956; Загрузим 3ВСН в АХ.

Mov bx,-300; В BX 0FED4H.

Idiv bx; AL = -3 (0FFFDH) в AH =56.

 

 AAD

Преобразование данных в ASCII-коде в двоичный код перед делением.

AL := (AL+ (10×AH)) 

?

--

--

--

*

*

?

*

?

Mov ax ,1405 H; Делимое в АХ.

Mov bl ,3; Делитель загрузим в ВХ.

And 0F0F; Распакуем делимое.    

Aad; Коррекция делимого.(в  АХ 45)

Idiv BL; Результат в АХ = 15.

Команды расширения знака

CBW

Преобразовать байт в слово.

AH 8- 15 : = AL 7

--

--

--

--

--

--

--

--

--

Mov al ,0 FCH; Загрузим – 4 в AL.

Cbw; В АХ 0FFFCH (- 4).

CWD

Дата: 2018-11-18, просмотров: 405.