フラグレジスタ | 名前 | 意味 | ON | OFF |
---|---|---|---|---|
OF | オーバーフロー | 符号付演算で桁あふれが発生 | OV | NV |
DF | ディレクション | ストリング操作命令で使用 | DN | UP |
IF | インタラプト・ イネーブル | 外部割込みの許可 | EI | DI |
TF | トラップ | トレースで実行するときのフラグ | ||
SF | サイン | 演算結果の符号が負数 | NG | PL |
ZF | ゼロ | 演算結果がゼロ | ZR | NZ |
AF | 補助キャリー | BCD演算で使用されるキャリー | AC | NA |
PF | パリティ | 演算結果で、各ビットで1となる ビットの合計が偶数 | PE | PO |
CF | キャリー | 通常の演算結果で桁あふれが発生 | CY | NC |
命令 | ジャンプ条件 | 命令 | ジャンプ条件 |
---|---|---|---|
JA | より上(CF = 0 & ZF = 0) | JAE | より上か等しい(CF = 0) |
JB | より下(CF = 1) | JBE | より下か等しい(CF = 1 | ZF = 1) |
JC | キャリーがある(CF = 1) | JCXZ | CXレジスタが0 |
JE | 等しい(ZF = 1) | JG | より大きい(ZF = 0 & SF = OF) |
JGE | より大きいか等しい(SD = OF) | JL | より小さい(SF ! OF) |
JLE | より小さいか等しい(ZF = 1 | SF ! OF) | JNA | より上でない(CF = 1 | ZF = 1) |
JNAE | より上でなく等しい(CF = 1) | JNB | より下でない(CF = 0) |
JNBE | より下でなく等しい(CF = 0 & ZF = 0) | JNC | キャリーがない(CF = 0) |
JNE | 等しくない(ZF = 0) | JNG | より大きくない(ZF = 1 | SF ! OF) |
JNGE | より大きくなく等しくない(SF ! OF) | JNL | より小さくない(SF = OF) |
JNLE | より小さくなく等しくない (ZF = 0 & SF = OF) | JNO | オーバーフローがない(OF = 0) |
JNP | パリティがない(PF = 0) | JNS | 符号がない(SF = 0) |
JNZ | ゼロではない(ZF = 0) | JO | オーバーフローがある(PF = 1) |
JP | パリティがある(PF = 1) | JPE | パリティが偶数(PF = 1) |
JPO | パリティが基数(PF = 0) | JS | 符合がある(SF = 1) |
JZ | ゼロである(ZF = 1) |
-A 100 15F2:0100 MOV AX , 0 15F2:0103 MOV DX , FF 15F2:0106 INC AX 15F2:0107 DEC DX 15F2:0108 JNZ 106 15F2:010A -G =100 10A AX=00FF BX=0200 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=15F2 ES=15F2 SS=15F2 CS=15F2 IP=010A NV UP EI PL ZR NA PE NCこのプログラムは、まずAXレジスタを0に、DXレジスタにFFをロードし