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

Переноса.

Биты, выдвигаемые с одного конца операнда,  циклически вводятся в него через CF

с другого конца.

n максимальное = 31

*

--

--

--

--

--

--

--

*

Mov ax , 45 EAH; Данные в АХ.

Mov CL ,4; Количество бит сдвига (n)

              в CL

STC; Занести в CF 1.

RCR ax , cl; В АХ 545ЕН. CF = 1

Mov Tab , 4 F 64 H; Данные в ячейку Tab.

RCR Tab , cl; В яч. Tab F64AH. CF=0

ROL

пр., счетчик

(n)

Сдвиг циклический влево.

Биты, выдвигаемые с одного конца операнда, вводятся в него с другого конца.

n максимальное = 31

*

--

--

--

--

--

--

--

*

Mov ax , 45 EAH; Данные в АХ.

Mov CL ,4; Кол-во бит сдвига в CL

ROL ax , cl; В АХ 5ЕA4Н.

Mov Tab , 4 F 64 H; Данные в ячейку  Tab.

ROL Tab, cl ; В ячейке Tab F644H.

ROR

пр, счетчик

(n)

Сдвиг циклический вправо.

Биты, выдвигаемые с одного конца операнда, в циклически водятся в него с другого конца.

n максимальное =31

*

--

--

--

--

--

--

--

*

Mov ax , 45 EAH ; Данные в АХ.

Mov CL ,4; Кол-во бит сдвига в CL

ROR ax,cl ; В АХ A45ЕН.

Mov Tab , 4 F 64 H ; Данные в ячейку Tab.

ROR Tab, cl ; В ячейке Tab 44F6H.

 

Операции с битами и строками битов

BT база,

смещение

Проверка бита. Указанный в базе и смещении бит из источника пересылается в CF

CF:= бит источника.

--

--

--

--

--

--

--

--

*

Mov ax ,6652 h; Данные в АХ.

BT ax , 1; Первый бит данных (1) в CF.

Jb met 1; Передача управления в met 1.

BT tab ,31; 31-й бит данных tab в CF.

Jae met 2; Если CF=0, переход в met 2.

                                                         

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

Мнемокод

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

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

OF

DF

IF

TF

SF

ZF

AF

PF

CF

BTS база,

смещение

Проверка и установка бита.

 Бит по адресу: база +смещение:= 1. BTS R/M , R/ im

--

--

--

--

--

--

--

--

*

Выбирает бит и устанавливает в 1.

Mov ax ,6652 h; Данные в АХ.

BTS ax , 2; Устанавливает 2-й бит в 1.

       В  АХ  6656Н, в CF занесется 0.

BTR база,

смещение

Проверка и сброс

бита.

Бит по адресу: база +смещение:= 0. BTR R/M , R/ im

--

--

--

--

--

--

--

--

*

Выбирает бит и устанавливает в 0.

Mov ax ,6652 h; Данные в АХ.

BTR ax , 1; Устанавливает 1-й бит в 0.

       В  АХ  6650Н, в CF занесется 1.  

BTC база,

cмещение

Проверка и инверсия бита.

 Инвертировать бит по адресу: база +смещение.

--

--

--

--

--

--

--

--

*

Mov ax ,6652 h; Данные в АХ.

BT C ax , 1; Инверсия первого бита.

          Теперь  в  АХ  6650Н, в CF -1.

BSF пр.,ист.

Прямой поиск бита.

Пр:= N первого

единичного бита источника.

--

--

--

--

--

*

--

--

--

Mov ax ,6650 h; Данные в АХ.

BSF вх, ах; В ВХ заносится 4.

Mov tab ,6400 h; Данные в ячейку tab.

BSF вх, t а b; В ВХ заносится 10.

BSR пр.,ист.

Обратный поиск бита.

Пр:= N первого

Единичного бита источника при сканировании источника с младших разрядов

Mov ax ,6650 h; Данные в АХ.

BSR вх, ах; В ВХ заносится 11.

Mov tab ,6400 h; Данные в ячейку tab.

BSR вх, t а b; В ВХ заносится 1.

Команды  обработки  строк

Команды сравнения строк

REP

REPE

REPNE

REPZ

REPNZ

Повторять

Повторять, пока равно.

Повторять, пока не равно.

Повторять, пока ноль.

Повторять, пока не ноль.

Префиксы повторений для строковых команд. Количество повторений в регистре СХ или (ЕСХ).

При каждом выполнении команды СХ или (ЕСХ)

уменьшаются на 1.

                                           

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

Мнемокод

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

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

OF

DF

IF

TF

SF

ZF

AF

PF

CF

*

--

--

--

*

*

*

*

*

CMPS пр.,ист.     Сравнить строки. Вычитает  из источника приемник. DS:[(E)SI]- ES:[(E)DI] IF DF= 1,  (E)DI:=  (E)DI-1,(2),(4), (E)SI:= (E)SI- 1,(2),(4)

CLD; Установить флаг DF в 0.

Mov cx ,100; Установить счетчик

                         цикла на 100.

Repe Cmps tab 1, tab 2; Сравнивать  

100 элементов до нахождения

               несовпадающих. 

CMPSВ

Сравнить строки байтов.

DS:[(E)SI]- ES:[(E)DI]

IF DF= 0, то

(E)DI:= (E)DI+1

(E)SI:= (E)SI +1

*

--

--

--

*

*

*

*

*

STD; Установить флаг DF в 1.

Mov cx ,100; Установить счетчик

                         цикла на 100.

Repne Cmpsb tab 1, tab 2;Сравнивать  

       100 байтов до нахождения

        совпадающих. 

CMPSW

 

Сравнить строки слов.

 

[DS[E)SI]-[ES[E)DI]

IF DF:= 0, то   

(E)DI:= (E)DI+ 2

(E)SI:= (E)SI+ 2

IF DF:= 1, то   

(E)DI:= (E)DI- 2

(E)SI:= (E)SI- 2

 

*

--

--

--

*

*

*

*

*

STD; Установить флаг DF в 1.

Mov cx ,100; Установить счетчик

                         цикла на 100.

Repne Cmpsw tab 1, tab 2; Сравнивать  

              100 слов  до нахождения

               совпадающих. 

Je m 1; При совпадении, передать

        управление в m1.              

CMPSD

 

Сравнить строки двойных слов.

 

DS:[(E)SI]- ES:[(E)DI]

IF DF:= 0, то

(E)DI:= (E)DI+ 4

(E)SI:= (E)SI+ 4

IF DF:= 1, то 

(E)DI:= (E)DI- 4

(E)SI:= (E)SI- 4

 

*

--

--

--

*

*

*

*

*

CLD; Установить флаг DF в 0.    

Mov cx ,100; Установить счетчик

                         цикла на 100.

Repne Cmpsd tab 1, tab 2;Сравнивать  

              100 двойных слов, до

             нахождения совпадающих. 

Je m 1; Передать управление в     

              m1, при совпадении.

                                     

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

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

Мнемокод

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

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

OF

DF

IF

TF

SF

ZF

AF

PF

CF

MOVS

Пр.,ист.

 

Пересылать строковые данные

Пр:= ист

ES:[DI]:= DS: [SI]

СХ:= СХ-1

 --

--

--

--

--

--

--

--

--

CLD; Установить DF = 0.

Lea SI , tabist; Адрес источника в SI,

Lea DI , ES : tabpr; а приемника в DI.

Mov CX ,100; Кол. элементов в СХ

Rep Movs tabpr,tabist; Переслать 100

                               элементов.

MOVSB

Переслать строку байт.

 ES: [DI]:= DS: [SI]

IF DF := 0, то

DI := DI+ 1

SI := SI+ 1

IF DF:= 1, то

DI := DI- 1

SI := SI- 1

--

--

--

--

--

--

--

--

--

CLD; Установить DF = 0.

Lea SI , tabist;Адрес источника в SI,

Lea DI , ES : tabpr; а приемника в DI.

Mov CX ,100;Кол. элементов в СХ

Rep Movs tabpr,tabist; Переслать 100

                                 байт.

MOVSW

Пересылать строку слов.

ES: [DI] := DS: [SI]

IF DF:= 0, то

  DI := DI+ 2

   SI := SI+ 2

IF DF:= 1, то

  DI := DI- 2

   SI := SI- 2

--

--

--

--

--

--

--

--

--

CLD; Установить DF = 0.

Lea SI , tabist; Адрес источника в SI,

Lea DI , ES : tabpr; а приемника в DI.

Mov CX ,100; Кол. элементов в СХ.

Rep Movs tabpr,tabist; Переслать 100

                                 слов.

MOVSD

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