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/04 09:00] – [RET] arvfasm [2024/09/26 08:40] (current) – [CLC] arv
Line 568: Line 568:
 Processor : 8086+ \\ Processor : 8086+ \\
 Flags     : OF, DF, IF, TF, SF, ZF, AF, PF, CF Flags     : OF, DF, IF, TF, SF, ZF, AF, PF, CF
-  77 cb       JA rel8           ; Короткий переход, если выше (CF=0 и ZF=0) (8086+) +  77 cb       JA rel8           ; Короткий переход, если выше (CF=0 и ZF=0) 8086 
-  73 cb       JAE rel8       Короткий переход, если выше или равно (CF=0) +  73 cb       JAE rel8          ; Короткий переход, если выше или равно (CF=0)8086 
-8086 +  72 cb       JB rel8           ; Короткий переход, если ниже (CF=1)8086 
-72 cb +  76 cb       JBE rel8          ; Короткий переход, если ниже или равно (CF=1 или ZF=1)8086 
-JB rel8 +  72 cb       JC rel8           ; Короткий переход, если перенос (CF=1)8086 
-Короткий переход, если ниже (CF=1) +  E3 cb       JCXZ rel8         ; Короткий переход, если CX=0 8086 
-8086 +  E3 cb       JECXZ rel8        ; Короткий переход, если ECX=0 Intel386 
-76 cb +  74 cb       JE rel8           ; Короткий переход, если равно (ZF=1) 8086 
-JBE rel8 +  74 cb       JZ rel8           ; Короткий переход, если нуль (ZF=1) 8086 
-Короткий переход, если ниже или равно (CF=1 или ZF=1) +  7F cb       JG rel8           ; Короткий переход, если больше (ZF=0 и SF=OF) 8086 
-8086 +  7D cb       JGE rel8          ; Короткий переход, если больше или равно (SF=OF) 8086 
-72 cb +  7C cb       JL rel8           ; Короткий переход, если меньше (SF<>OF) 8086 
-JC rel8 +  7E cb       JLE rel8          ; Короткий переход, если меньше или равно (ZF=1 или SF<>OF) 8086 
-Короткий переход, если перенос (CF=1) +  76 cb       JNA rel8          ; Короткий переход, если не выше (CF=1 или ZF=1) 8086 
-8086 +  72 cb       JNAE rel8         ; Короткий переход, если не выше или равно (CF=1) 8086 
-E3 cb +  73 cb       JNB rel8          ; Короткий переход, если не ниже (CF=0) 8086 
-JCXZ rel8 +  77 cb       JNBE rel8         ; Короткий переход, если не ниже или равно (CF=0 и ZF=0) 8086 
-Короткий переход, если CX=0 +  73 cb       JNC rel8          ; Короткий переход, если не перенос (CF=0) 8086 
-8086 +  75 cb       JNE rel8          ; Короткий переход, если не равно (ZF=0) 8086 
-E3 cb +  7E cb       JNG rel8          ; Короткий переход, если не больше (ZF=1 или SF<>OF) 8086 
-JECXZ rel8 +  7C cb       JNGE rel8         ; Короткий переход, если не больше или равно (SF<>OF) 8086 
-Короткий переход, если ECX=0 +  7D cb       JNL rel8          ; Короткий переход, если не меньше (SF=OF) 8086 
-Intel386 +  7F cb       JNLE rel8         ; Короткий переход, если не меньше или равно (ZF=0 и SF=OF) 8086 
-74 cb +  71 cb       JNO rel8          ; Короткий переход, если не переполнение (OF=0) 8086 
-JE rel8 +  7B cb       JNP rel8          ; Короткий переход, если нечетно (PF=0) 8086 
-Короткий переход, если равно (ZF=1) +  79 cb       JNS rel8          ; Короткий переход, если положительно (SF=0) 8086 
-8086 +  75 cb       JNZ rel8          ; Короткий переход, если не нуль (ZF=0) 8086 
-74 cb +  70 cb       JO rel8           ; Короткий переход, если переполнение (OF=1) 8086 
-JZ rel8 +  7A cb       JP rel8           ; Короткий переход, если паритет (PF=1) 8086 
-Короткий переход, если нуль (ZF=1) +  7A cb       JPE rel8          ; Короткий переход, если четно (PF=1) 8086 
-8086 +  7B cb       JPO rel8          ; Короткий переход, если нечетно (PF=0) 8086 
-7F cb +  78 cb       JS rel8           ; Короткий переход, если отрицательно (SF=1) 8086 
-JG rel8 +  0F 87 cw/cd JA rel16/32       ; Ближний переход, если выше (CF=0 и ZF=0) Intel386 
-Короткий переход, если больше (ZF=0 и SF=OF) +  0F 83 cw/cd JAE rel16/32      ; Ближний переход, если выше или равно (CF=0) Intel386 
-8086 +  0F 82 cw/cd JB rel16/32       ; Ближний переход, если ниже (CF=1) Intel386 
-7D cb +  0F 86 cw/cd JBE rel16/32      ; Ближний переход, если ниже или равно (CF=1 или ZF=1) Intel386 
-JGE rel8 +  0F 82 cw/cd JC rel16/32       ; Ближний переход, если перенос (CF=1) Intel386 
-Короткий переход, если больше или равно (SF=OF) +  0F 84 cw/cd JE rel16/32       ; Ближний переход, если равно (ZF=1) Intel386 
-8086 +  0F 84 cw/cd JZ rel16/32       ; Ближний переход, если нуль (ZF=1) Intel386 
-7C cb +  0F 8F cw/cd JG rel16/32       ; Ближний переход, если больше (ZF=0 и SF=OF) Intel386 
-JL rel8 +  0F 8D cw/cd JGE rel16/32      ; Ближний переход, если больше или равно (SF=OF) Intel386 
-Короткий переход, если меньше (SF<>OF) +  0F 8C cw/cd JL rel16/32       ; Ближний переход, если меньше (SF<>OF) Intel386 
-8086 +  0F 8E cw/cd JLE rel16/32      ; Ближний переход, если меньше или равно (ZF=1 или SF<>OF) Intel386 
-7E cb +  0F 86 cw/cd JNA rel16/32      ; Ближний переход, если не выше (CF=1 или ZF=1) Intel386 
-JLE rel8 +  0F 82 cw/cd JNAE rel16/32     ; Ближний переход, если не выше или равно (CF=1) Intel386 
-Короткий переход, если меньше или равно (ZF=1 или SF<>OF) +  0F 83 cw/cd JNB rel16/32      ; Ближний переход, если не ниже (CF=0) Intel386 
-8086 +  0F 87 cw/cd JNBE rel16/32     ; Ближний переход, если не ниже или равно (CF=0 и ZF=0) Intel386 
-76 cb +  0F 83 cw/cd JNC rel16/32      ; Ближний переход, если не перенос (CF=0) Intel386 
-JNA rel8 +  0F 85 cw/cd JNE rel16/32      ; Ближний переход, если не равно (ZF=0) Intel386 
-Короткий переход, если не выше (CF=1 или ZF=1) +  0F 8E cw/cd JNG rel16/32      ; Ближний переход, если не больше (ZF=1 или SF<>OFIntel386 
-8086 +  0F 8C cw/cd JNGE rel16/32     ; Ближний переход, если не больше или равно (SF<>OF) Intel386 
-72 cb +  0F 8D cw/cd JNL rel16/32      ; Ближний переход, если не меньше (SF=OF) Intel386 
-JNAE rel8 +  0F 8F cw/cd JNLE rel16/32     ; Ближний переход, если не меньше или равно (ZF=0 и SF=OF) Intel386 
-Короткий переход, если не выше или равно (CF=1) +  0F 81 cw/cd JNO rel16/32      ; Ближний переход, если не переполнение (OF=0) Intel386 
-8086 +  0F 8B cw/cd JNP rel16/32      ; Ближний переход, если нечетно (PF=0) Intel386 
-73 cb +  0F 89 cw/cd JNS rel16/32      ; Ближний переход, если положительно (SF=0) Intel386 
-JNB rel8 +  0F 85 cw/cd JNZ rel16/32      ; Ближний переход, если не нуль (ZF=0) Intel386 
-Короткий переход, если не ниже (CF=0) +  0F 80 cw/cd JO rel16/32       ; Ближний переход, если переполнение (OF=1) Intel386 
-8086 +  0F 8A cw/cd JP rel16/32       ; Ближний переход, если паритет (PF=1) Intel386 
-77 cb +  0F 8A cw/cd JPE rel16/32      ; Ближний переход, если четно (PF=1) Intel386 
-JNBE rel8 +  0F 8B cw/cd JPO rel16/32      ; Ближний переход, если нечетно (PF=0) Intel386 
-Короткий переход, если не ниже или равно (CF=0 и ZF=0) +  0F 88 cw/cd JS rel16/32       ; Ближний переход, если отрицательно (SF=1) Intel386 
-8086 +  
-73 cb + ==== LOOP, LOOPE, LOOPZ, LOOPNE, LOOPNZ ==== 
-JNC rel8 +Processor : 8086+ \\ 
-Короткий переход, если не перенос (CF=0) +Flags     : no 
-8086 +  E2 cb       LOOP rel8         ; Уменьшить (E)CX и выполнить короткий переход, если (E)CX <> 0 (8086+) 
-75 cb +  E1 cb       LOOPE rel8        ; Уменьшить(E)CX и выполнить короткий переход, если (E)CX<>0 и ZF=1 (8086+) 
-JNE rel8 +  E1 cb       LOOPZ rel8        ; Уменьшить(E)CX и выполнить короткий переход, если (E)CX<>0 и ZF=1 (8086+) 
-Короткий переход, если не равно (ZF=0) +  E0 cb       LOOPNE rel8       ; Уменьшить(E)CX и выполнить короткий переход, если (E)CX<>0 и ZF=0 (8086+) 
-8086 +  E0 cb       LOOPNZ rel8       ; Уменьшить(E)CX и выполнить короткий переход, если (E)CX<>0 и ZF=0 (8086+) 
-7E cb +   
-JNG rel8 + ==== INT ==== 
-Короткий переход, если не больше (ZF=1 или SF<>OF) +Processor : 8086+ \\ 
-8086 +Flags     : no 
-7C cb +  CC          INT 3             ; Вызов прерывания 3 (#BP, точка останова) (8086+) 
-JNGE rel8 +  CD ib       INT imm8          ; Вызов прерывания imm8 (8086+) 
-Короткий переход, если не больше или равно (SF<>OF) +  CE          INTO              ; Вызов прерывания 4 (#OF, переполнение), если EFLAGS.OF=1 (8086+) 
-8086 +   
-7D cb + ==== BOUND ==== 
-JNL rel8 +Processor : 8086+ \\ 
-Короткий переход, если не меньше (SF=OF) +Flags     : no 
-8086 +  62 /r       BOUND r16,m16&16  ; Проверяет индекс r16 на выход за границы массива m16&16 (80186+) 
-7F cb +  62 /r       BOUND r32,m32&32  ; Проверяет индекс r32 на выход за границы массива m32&32 (80386+)
-JNLE rel8 +
-Короткий переход, если не меньше или равно (ZF=0 и SF=OF) +
-8086 +
-71 cb +
-JNO rel8 +
-Короткий переход, если не переполнение (OF=0) +
-8086 +
-7B cb +
-JNP rel8 +
-Короткий переход, если нечетно (PF=0) +
-8086 +
-79 cb +
-JNS rel8 +
-Короткий переход, если положительно (SF=0) +
-8086 +
-75 cb +
-JNZ rel8 +
-Короткий переход, если не нуль (ZF=0) +
-8086 +
-70 cb +
-JO rel8 +
-Короткий переход, если переполнение (OF=1) +
-8086 +
-7A cb +
-JP rel8 +
-Короткий переход, если паритет (PF=1) +
-8086 +
-7A cb +
-JPE rel8 +
-Короткий переход, если четно (PF=1) +
-8086 +
-7B cb +
-JPO rel8 +
-Короткий переход, если нечетно (PF=0) +
-8086 +
-78 cb +
-JS rel8 +
-Короткий переход, если отрицательно (SF=1) +
-8086 +
-0F 87 cw/cd +
-JA rel16/32 +
-Ближний переход, если выше (CF=0 и ZF=0) +
-Intel386 +
-0F 83 cw/cd +
-JAE rel16/32 +
-Ближний переход, если выше или равно (CF=0) +
-Intel386 +
-0F 82 cw/cd +
-JB rel16/32 +
-Ближний переход, если ниже (CF=1) +
-Intel386 +
-0F 86 cw/cd +
-JBE rel16/32 +
-Ближний переход, если ниже или равно (CF=1 или ZF=1) +
-Intel386 +
-0F 82 cw/cd +
-JC rel16/32 +
-Ближний переход, если перенос (CF=1) +
-Intel386 +
-0F 84 cw/cd +
-JE rel16/32 +
- +
  
-Ближний переход, если равно (ZF=1+ ==== IN ==== 
- +Processor : 8086+ \\ 
 +Flags     : no 
 +  E4 ib       IN AL,imm8        ; Загрузить байт из порта в/в imm8 в регистр AL (8086+) 
 +  E5 ib       IN AX,imm8        ; Загрузить слово из порта в/в imm8 в регистр AL (8086+) 
 +  E5 ib       IN EAX,imm8       ; Загрузить двойное слово из порта в/в imm8 в регистр AL (80386+) 
 +  EC          IN AL,DX          ; Загрузить байт из порта в/в DX в регистр AL (8086+) 
 +  ED          IN AX,DX          ; Загрузить слово из порта в/в DX в регистр AL (8086+) 
 +  ED          IN EAX,DX         ; Загрузить двойное слово из порта в/в DX в регистр AL (80386+) 
 +   
 + ==== OUT ==== 
 +Processor : 8086+ \\ 
 +Flags     : no 
 +  E6 ib       OUT imm8,AL       ; Вывести байт из AL в порт в/в по адресу imm8 (8086+) 
 +  E7 ib       OUT imm8,AX       ; Вывести слово из AX в порт в/в по адресу imm8 (8086+) 
 +  E7 ib       OUT imm8,EAX      ; Вывести двойное слово из EAX в порт в/в по адресу imm8 (80386+) 
 +  EE          OUT DX,AL         ; Вывести байт из AL в порт в/в по адресу в DX (8086+) 
 +  EF          OUT DX,AX         ; Вывести слово из AX в порт в/в по адресу в DX (8086+) 
 +  EF          OUT DX,EAX        ; Вывести двойное слово из EAX в порт в/в по адресу в DX (80386+) 
 +   
 + ==== MOVS, MOVSB, MOVSW, MOVSD ==== 
 +Processor : 8086+ \\ 
 +Flags     : no 
 +  A4          MOVS m8,m8        ; Записать в ячейку по адресу ES:(E)DI байт из ячейки с адресом DS:(E)SI (8086+
 +  A5          MOVS m16,m16      ; Записать в ячейку по адресу ES:(E)DI слово из ячейки с адресом DS:(E)SI (8086+) 
 +  A5          MOVS m32,m32      ; Записать в ячейку по адресу ES:(E)DI двойное слово из ячейки с адресом DS:(E)SI (80386+) 
 +  A4          MOVSB             ; Записать в ячейку по адресу ES:(E)DI байт из ячейки с адресом DS:(E)SI (8086+) 
 +  A5          MOVSW             ; Записать в ячейку по адресу ES:(E)DI слово из ячейки с адресом DS:(E)SI (8086+) 
 +  A5          MOVSD             ; Записать в ячейку по адресу ES:(E)DI двойное слово из ячейки с адресом DS:(E)SI (80386+)
  
-Intel386+ ==== CMPS, CMPSB, CMPSW, CMPSD ==== 
 +Processor : 8086+ \\ 
 +Flags     : OF, SF, ZF, AF, PF, CF 
 +  A6          CMPS m8,m8        ; Сравнить байт по адресу DS:(E)SI с байтом по адресу ES:(E)DI (8086+) 
 +  A7          CMPS m16,m16      ; Сравнить слово по адресу DS:(E)SI со словом по адресу ES:(E)DI (8086+) 
 +  A7          CMPS m32,m32      ; Сравнить двойное слово по адресу DS:(E)SI с двойным словом по адресу ES:(E)DI (80386+) 
 +  A6          CMPSB             ; Сравнить байт по адресу DS:(E)SI с байтом по адресу ES:(E)DI (8086+) 
 +  A7          CMPSW             ; Сравнить слово по адресу DS:(E)SI со словом по адресу ES:(E)DI (8086+) 
 +  A7          CMPSD             ; Сравнить двойное слово по адресу DS:(E)SI с двойным словом по адресу ES:(E)DI (80386+) 
 +   
 + ==== SCAS, SCASB, SCASW, SCASD ==== 
 +Processor : 8086+ \\ 
 +Flags     : OF, SF, ZF, AF, PF, CF 
 +  AE          SCAS m8           ; Сравнить байт по адресу ES:(E)DI с AL (8086+) 
 +  AF          SCAS m16          ; Сравнить слово по адресу ES:(E)DI с AX (8086+) 
 +  AF          SCAS m32          ; Сравнить двойное слово по адресу ES:(E)DI с EAX (80386+) 
 +  AE          SCASB             ; Сравнить байт по адресу ES:(E)DI с AL (8086+) 
 +  AF          SCASW             ; Сравнить байт по адресу ES:(E)DI с AX(8086+) 
 +  AF          SCASD             ; Сравнить байт по адресу ES:(E)DI с EAX (80386+) 
 +   
 + ==== STOS, STOSB, STOSW, STOSD ==== 
 +Processor : 8086+ \\ 
 +Flags     : no 
 +  AA          STOS m8          ; Сохранить AL по адресу ES:(E)DI (8086+) 
 +  AB          STOS m16         ; Сохранить AX по адресу ES:(E)DI (8086+) 
 +  AB          STOS m32         ; Сохранить EAX по адресу ES:(E)DI (80386+) 
 +  AA          STOSB            ; Сохранить AL по адресу ES:(E)DI (8086+) 
 +  AB          STOSW            ; Сохранить AX по адресу ES:(E)DI (8086+) 
 +  AB          STOSD            ; Сохранить EAX по адресу ES:(E)DI (80386+) 
 +   
 + ==== LODS, LODSB, LODSW, LODSD ==== 
 +Processor : 8086+ \\ 
 +Flags     : no   
 +  AC          LODS m8          ; Считать байт по адресу DS:(E)SI в AL (8086+)   
 +  AD          LODS m16         ; Считать слово по адресу DS:(E)SI в AX (8086+) 
 +  AD          LODS m32         ; Считать двойное слово по адресу DS:(E)SI в EAX (80386+) 
 +  AC          LODSB            ; Считать байт по адресу DS:(E)SI в AL (8086+) 
 +  AD          LODSW            ; Считать байт по адресу DS:(E)SI в AX (8086+) 
 +  AD          LODSD            ; Считать байт по адресу DS:(E)SI в EAX (80386+) 
 +   
 + ==== INS, INSB, INSW, INSD ==== 
 +Processor : 80286+ \\ 
 +Flags     : no   
 +  6C          INS m8,DX        ; Загрузить байт из порта в/в DX в память по адресу ES:(E)DI (80286+) 
 +  6D          INS m16,DX       ; Загрузить слово из порта в/в DX в память по адресу ES:(E)DI (80286+) 
 +  6D          INS m32,DX       ; Загрузить двойное слово из порта в/в DX в память по адресу ES:(E)DI (80386+) 
 +  6C          INSB             ; Загрузить байт из порта в/в DX в память по адресу ES:(E)DI (80286+) 
 +  6D          INSW             ; Загрузить слово из порта в/в DX в память по адресу ES:(E)DI (80286+) 
 +  6D          INSD             ; Загрузить двойное слово из порта в/в DX в память по адресу ES:(E)DI (80386+) 
 +   
 + ==== OUTS, OUTSB, OUTSW, OUTSD ==== 
 +Processor : 80286+ \\ 
 +Flags     : no   
 +  6E          OUTS DX,m8       ; Вывести байт из ячейки памяти DS:(E)SI в порт в/в по адресу в DX (80286+) 
 +  6F          OUTS DX,m16      ; Вывести слово из ячейки памяти DS:(E)SI в порт в/в по адресу в DX (80286+) 
 +  6F          OUTS DX,m32      ; Вывести двойное слово из ячейки памяти DS:(E)SI в порт в/в по адресу в DX (80386+) 
 +  6E          OUTSB            ; Вывести байт из ячейки памяти DS:(E)SI в порт в/в по адресу в DX (80286+) 
 +  6F          OUTSW            ; Вывести слово из ячейки памяти DS:(E)SI в порт в/в по адресу в DX (80286+) 
 +  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+)
  
-0F 84 cw/cd + ==== 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
  
-JZ rel16/32 + ==== CLD ==== 
- +Processor : 8086+ \\ 
 +Flags     : DF 
 +  FC          CLD              ; Сброс флага EFLAGS.DF
  
-Ближний переход, если нуль (ZF=1) + ==== STI ==== 
- +Processor : 8086+ \\ 
 +Flags     : IF 
 +  FB          STI              ; Установить флаг разрешения внешних маскируемых прерываний
  
-Intel386 + ==== CLI ==== 
- +Processor : 8086+ \\ 
-0F 8F cw/cd +Flags     : IF 
-  +  FA          CLI              ; Сброс флага EFLAGS.IF (внешние маскируемые прерывания запрещены)
- +
-JG rel16/32 +
-  +
- +
-Ближний переход, если больше (ZF=0 и SF=OF) +
-  +
- +
-Intel386 +
- +
-0F 8D cw/cd +
-  +
- +
-JGE rel16/32 +
-  +
- +
-Ближний переход, если больше или равно (SF=OF) +
-  +
- +
-Intel386 +
- +
-0F 8C cw/cd +
-  +
- +
-JL rel16/32 +
-  +
- +
-Ближний переход, если меньше (SF<>OF) +
-  +
- +
-Intel386 +
- +
-0F 8E cw/cd +
-  +
- +
-JLE rel16/32 +
-  +
- +
-Ближний переход, если меньше или равно (ZF=1 или SF<>OF) +
-  +
- +
-Intel386 +
- +
-0F 86 cw/cd +
-  +
- +
-JNA rel16/32 +
-  +
- +
-Ближний переход, если не выше (CF=1 или ZF=1) +
-  +
- +
-Intel386 +
- +
-0F 82 cw/cd +
-  +
- +
-JNAE rel16/32 +
-  +
- +
-Ближний переход, если не выше или равно (CF=1) +
-  +
- +
-Intel386 +
- +
-0F 83 cw/cd +
-  +
- +
-JNB rel16/32 +
-  +
- +
-Ближний переход, если не ниже (CF=0) +
-  +
- +
-Intel386 +
- +
-0F 87 cw/cd +
-  +
- +
-JNBE rel16/32 +
-  +
- +
-Ближний переход, если не ниже или равно (CF=0 и ZF=0) +
-  +
- +
-Intel386 +
- +
-0F 83 cw/cd +
-  +
- +
-JNC rel16/32 +
-  +
- +
-Ближний переход, если не перенос (CF=0) +
-  +
- +
-Intel386 +
- +
-0F 85 cw/cd +
-  +
- +
-JNE rel16/32 +
-  +
- +
-Ближний переход, если не равно (ZF=0) +
-  +
- +
-Intel386 +
- +
-0F 8E cw/cd +
-  +
- +
-JNG rel16/32 +
-  +
- +
-Ближний переход, если не больше (ZF=1 или SF<>OF) +
-  +
- +
-Intel386 +
- +
-0F 8C cw/cd +
-  +
- +
-JNGE rel16/32 +
-  +
- +
-Ближний переход, если не больше или равно (SF<>OF) +
-  +
- +
-Intel386 +
- +
-0F 8D cw/cd +
-  +
- +
-JNL rel16/32 +
-  +
- +
-Ближний переход, если не меньше (SF=OF) +
-  +
- +
-Intel386 +
- +
-0F 8F cw/cd +
-  +
- +
-JNLE rel16/32 +
-  +
- +
-Ближний переход, если не меньше или равно (ZF=0 и SF=OF) +
-  +
- +
-Intel386 +
- +
-0F 81 cw/cd +
-  +
- +
-JNO rel16/32 +
-  +
- +
-Ближний переход, если не переполнение (OF=0) +
-  +
- +
-Intel386 +
- +
-0F 8B cw/cd +
-  +
- +
-JNP rel16/32 +
-  +
- +
-Ближний переход, если нечетно (PF=0) +
-  +
- +
-Intel386 +
- +
-0F 89 cw/cd +
-  +
- +
-JNS rel16/32 +
-  +
- +
-Ближний переход, если положительно (SF=0) +
-  +
- +
-Intel386 +
- +
-0F 85 cw/cd +
-  +
- +
-JNZ rel16/32 +
-  +
- +
-Ближний переход, если не нуль (ZF=0) +
-  +
- +
-Intel386 +
- +
-0F 80 cw/cd +
-  +
- +
-JO rel16/32 +
-  +
- +
-Ближний переход, если переполнение (OF=1) +
-  +
- +
-Intel386 +
- +
-0F 8A cw/cd +
-  +
- +
-JP rel16/32 +
-  +
- +
-Ближний переход, если паритет (PF=1) +
-  +
- +
-Intel386 +
- +
-0F 8A cw/cd +
-  +
- +
-JPE rel16/32 +
-  +
- +
-Ближний переход, если четно (PF=1) +
-  +
- +
-Intel386 +
- +
-0F 8B cw/cd +
-  +
- +
-JPO rel16/32 +
-  +
- +
-Ближний переход, если нечетно (PF=0) +
-  +
- +
-Intel386 +
- +
-0F 88 cw/cd +
-  +
- +
-JS rel16/32 +
-  +
- +
-Ближний переход, если отрицательно (SF=1) +
-  +
- +
-Intel386 +
-   +
-  +
      
 + ==== LAHF ====
 +Processor : 8086+ \\
 +Flags     : no
 +  9F          LAHF             ; AH = EFLAGS(SF,ZF,0,AF,0,PF,1,CF)
fasm.1725440441.txt.gz · Last modified: 2024/09/04 09:00 by arv