User Tools

Site Tools


fasm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
fasm [2024/09/18 12:19] – [SCAS, SCASB, SCASW, SCASD] arvfasm [2024/09/26 08:40] (current) – [CLC] arv
Line 743: Line 743:
   6F          OUTSD            ; Вывести двойное слово из ячейки памяти DS:(E)SI в порт в/в по адресу в DX (80386+)   6F          OUTSD            ; Вывести двойное слово из ячейки памяти DS:(E)SI в порт в/в по адресу в DX (80386+)
      
 + ==== REP, REPE, REPNE ====
 +Processor : 8086+ \\
 +Flags     : no  
 +  F3 6C       REP INS r/m8,DX  ; Загрузить (E)CX байт из порта в/в DX в память по адресу ES:(E)DI (80286+)
 +  F3 6D       REP INS r/m16,DX ; Загрузить (E)CX  слов из порта в/в DX в память по адресу ES:(E)DI (80286+)
 +  F3 6D       REP INS r/m32,DX ; Загрузить (E)CX  двойных слов из порта в/в DX в память по адресу ES:(E)DI (80386+)
 +  F3 A4       REP MOVS m8,m8   ; Записать по адресу ES:(E)DI блок из (E)CX байт, считываемый по адресу DS:(E)SI (8086+)
 +  F3 A5       REP MOVS m16,m16 ; Записать по адресу ES:(E)DI блок из (E)CX  слов, считываемый по адресу DS:(E)SI (8086+)
 +  F3 A5       REP MOVS m32,m32 ; Записать по адресу ES:(E)DI блок из (E)CX  двойных слов, считываемый по адресу DS:(E)SI (80386+)
 +  F3 6E       REP OUTS DX,r/m8 ; Вывести блок из (E)CX байт из памяти по адресу DS:(E)SI в порт в/в по адресу в DX (80286+)
 +  F3 6F       REP OUTS DX,r/m16 ; Вывести блок из (E)CX слов из памяти по адресу DS:(E)SI в порт в/в по адресу в DX (80286+)
 +  F3 6F       REP OUTS DX,r/m32 ; Вывести блок из (E)CX  двойных слов из памяти по адресу DS:(E)SI в порт в/в по адрсу в DX (80386+)
 +  F3 AC       REP LODS AL      ; Считать блок из (E)CX байт по адресу DS:(E)SI в AL (8086+)
 +  F3 AD       REP LODS AX      ; Считать блок из (E)CX слов по адресу DS:(E)SI в AX 8086
 +  F3 AD       REP LODS EAX     ; Считать блок из (E)CX двойных слов по адресу DS:(E)SI в EAX (80386+)
 +  F3 AA       REP STOS m8      ; Заполнить блок из (E)CX байт по адресу ES:(E)DI содержимым AL (8086+)
 +  F3 AB       REP STOS m16     ; Заполнить блок из (E)CX слов по адресу ES:(E)DI содержимым AX (8086+)
 +  F3 AB       REP STOS m32     ; Заполнить блок из (E)CX двойных слов по адресу ES:(E)DI содержимым EAX (80386+)
 +  F3 A6       REPE CMPS m8,m8  ; Найти неравные байты в блоках из (E)CX байт по адресам DS:(E)SI и ES:(E)DI (8086+)
 +  F3 A7       REPE CMPS m16,m16 ; Найти неравные слова в блоках из (E)CX слов по адресу DS:(E)SI и ES:(E)DI (8086+)
 +  F3 A7       REPE CMPS m32,m32 ; Найти неравные двойные слова в блоках из (E)CX двойных слов по адресу DS:(E)SI и ES:(E)DI (80386+)
 +  F3 AE       REPE SCAS m8     ; Найти байт не равный AL в блоке из (E)CX байт по адресу ES:(E)DI (8086+)
 +  F3 AF       REPE SCAS m16    ; Найти слово не равное AX в блоке из (E)CX слов по адресу ES:(E)DI (8086+)
 +  F3 AF       REPE SCAS m32    ; Найти двойное слово не равное EAX в блоке из (E)CX двойных слов по адресу ES:(E)DI (80386+)
 +  F2 A6       REPNE CMPS m8,m8 ; Найти равные байты в блоках из (E)CX байт по адресам DS:(E)SI и ES:(E)DI (8086+)
 +  F2 A7       REPNE CMPS m16,m16 ; Найти равные слова в блоках из (E)CX слов по адресу DS:(E)SI и ES:(E)DI (8086+)
 +  F2 A7       REPNE CMPS m32,m32 ; Найти равные двойные слова в блоках из (E)CX двойных слов по адресу DS:(E)SI и ES:(E)DI (80386+)
 +  F2 AE       REPNE SCAS m8    ; Найти байт равный AL в блоке из (E)CX байт по адресу ES:(E)DI (8086+)
 +  F2 AF       REPNE SCAS m16   ; Найти слово равное AX в блоке из (E)CX слов по адресу ES:(E)DI (8086+)
 +  F2 AF       REPNE SCAS m32   ; Найти двойное слово равное EAX в блоке из (E)CX двойных слов по адресу ES:(E)DI (80386+)
 +
 + ==== STC ====
 +Processor : 8086+ \\
 +Flags     : CF
 +  F9          STC              ; Установить EFLAGS.CF = 1
      
 + ==== CLC ====
 +Processor : 8086+ \\
 +Flags     : CF
 +  F8          CLC              ; Сброс флага EFLAGS.CF
 +  
 + ==== CMC ====
 +Processor : 8086+ \\
 +Flags     : CF
 +  F5          CMC              ; Инверсия флага EFLAGS.CF
 +  
 + ==== STD ====
 +Processor : 8086+ \\
 +Flags     : DF
 +  FD          STD              ; Установить EFLAGS.DF = 1
 +
 + ==== CLD ====
 +Processor : 8086+ \\
 +Flags     : DF
 +  FC          CLD              ; Сброс флага EFLAGS.DF
 +
 + ==== STI ====
 +Processor : 8086+ \\
 +Flags     : IF
 +  FB          STI              ; Установить флаг разрешения внешних маскируемых прерываний
 +
 + ==== CLI ====
 +Processor : 8086+ \\
 +Flags     : IF
 +  FA          CLI              ; Сброс флага EFLAGS.IF (внешние маскируемые прерывания запрещены)
 +  
 + ==== LAHF ====
 +Processor : 8086+ \\
 +Flags     : no
 +  9F          LAHF             ; AH = EFLAGS(SF,ZF,0,AF,0,PF,1,CF)
fasm.1726661991.txt.gz · Last modified: 2024/09/18 12:19 by arv