КОМАНДЫ БИТОВЫХ ОПЕРАЦИЙ




КОП Команда Действие команды Комментарии
Сканирование битов
  0F BC   BSF r16(32),r/m16(32) Побитное сканирование битов r/m16(32), начиная с младшего бита Если все биты =0, то ZF=1, иначе ZF=0 и номер первого ненулевого бита ® r16(32)
  0F BD   BSR r16(32),r/m16(32) Побитное сканирование битов r/m16(32), начиная со старшего бита
Тестирование битов
0F A3 BT r/m16(32),r16(32) Значение бита из r/m16(32),позиция r16(32),®CF; сам бит неизменен.     CF-устанавливает- ся по команде;   PF, AF, ZF, SF, OF- не модифи-цируются.
0F BA /4 ib BT r/m16(32),imm8 Значение бита из r/m16(32), позиция imm8,®CF; сам бит неизменен
0F B3 BTR r/m16(32),r16(32) Значение бита из r/m16(32), позиция r16(32),®CF; сам бит обнуляется
0F BA /6 ib BTR r/m16(32),imm8 Значение бита из r/m16(32),позиция imm8, ®CF; сам бит обнуляется
0F AB BTS r/m16(32),r16(32) Значение бита из r/m16(32),позиция r16(32),®CF; сам бит устанавливается в 1
0F BA /5 ib BTS r/m16(32),imm8 Значение бита из r/m16(32),позиция imm8,®CF; сам бит устанавливается в 1
0F BB BTC r/m16(32),r16(32) Значение бита из r/m16(32),позиция r16(32),®CF; сам бит инвертируется
0F BA /7 ib BTC r/m16(32),imm8 Значение бита из r/m16(32),позиция imm8,®CF; сам бит инвертируется.  
Сброс и установка битов
F8 CLC 0 ® CF Модифициру-ются только флаги, указанные в ко- мандах; осталь- ные флаги неиз- менны.
FC CLD 0 ® DF
FA CLI 0 ® IF
FS CMC ® CF
F9 STC 1 ® CF
FD STD 1 ® DF
FB STI 1 ® IF
Установка байтов по условию
0А 9 cond SET COND r/m8 Если условие выполнено, то 1® r/m8, иначе 0®r/m8 COND и cond- условия в табл.П3.2.

 

III. КОМАНДЫОПЕРАЦИЙ С ЦЕПОЧКАМИ

КОП Команда Действие команды Комментарии
    A4   A5   A5   0F BE /r   0F BF /r   0F B6 /r     F B7 /r     6C   6D   6D     6E   6F   6F   Обычные пересылки   MOVS m8,m8 (MOVSB) MOVS m16,m16 (MOVSW) MOVS m32,m32 (MOVSD)   Пересылки со знаковым расширением   MOVSX r16(32),r/m8   MOVSX r32,r/m16   Пересылки с нулевым расширением MOVZX r16(32),r/m8     MOVZX r32,r/m16     Ввод из порта в цепочку   INS r/m8,DX (INSB)   INS r/m16,DX (INSW)   INS r/m32, DX (INSD)     Вывод цепочки в порт   OUTS DX,r/m8 (OUTB)   OUTS DX,r/m16 (OUTW)   OUTS DX,r/m32(OUTD)         m8 из [SI(ESI)]® ® ES:[DI(EDI)] m16 из [SI(ESI)]® ®ES:[DI(EDI)] m32 из [SI(ESI)]® ® ES:[DI(EDI)]     r/m8®r16(32) со зна- ковым расширением. r/m16®r32 со знако- вым расширением.     r/m8®r16(32) с нуле- вым расширением   r/m16®r32 с нулевым расширением   m8 из Port[DX]® ®ES:[DI(EDI)] m16 из Port[DX]® ®ES:[DI(EDI)] m32 из Port[DX]® ®ES:[DI(EDI)]   m8 из [SI(ESI)]® ®Port [DX] m16 из[SI(ESI)]® ®Port [DX] m32 из [SI(ESI)]® ®Port [DX]     Флаги не мо-дифицируются     Флаги не мо- дифицируются  
КОП Команда Действие команды   Комментарии
    AA AB AB     AC AD AD   A6 A7 A7   AE AF AF   F3   F3   F2 Сохранение цепочечных Операндов   STOS m8 (STOSB) STOS m16 (STOSW) STOS m32 (STOSD)   Загрузка цепочечных Операндов   LODS m8 (LODSB) LODS m16 (LODSW) LODS m32 (LODSD)   Сравнение цепочек   CMPS m8,m8 (CMPSB) CMPS m16,m16 (CMPW) CMPS m32,m32 (CMPD)   Сканирование цепочек   SCAS m8 (SCASB) SCAS m16 (SCASW) SCAS m32 (SCASD)   Префиксы повторения   REP   REPE (REPZ)   REPNZ (REPNE)     AL®ES:[DI(EDI)] AX®ES:[DI(EDI)] EAX®ES:[DI(EDI)]     [SI]®AL [SI]®AX [SI]®EAX   ES:[DI(EDI)]-[SI(ESI)] ES:[DI(EDI)]-[SI(ESI)] ES:[DI(EDI)]-[SI(ESI)]   AL - ES:[DI(EDI) AX - ES:[DI(EDI) EAX - ES:[DI(EDI)]   Повторять команду до тех, пока CX(ECX) ¹ 0     Повторять команду до тех пор, пока CX(ECX)¹0 или ZF¹1   Повторять команду до тех пор, пока CX(ECX)¹0 или ZF¹0     Флаги не модифицируются     Флаги не модифицируются   Флаги модифици- руются по результату     Флаги не модифицируются     Используется с командами: LODS,STOS, INS,OUTS, MOVS Используются с командами: CMPS,SCAS   Модифицирует-ся только флаг Z

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-04-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: