16ビットマイクロプロセッサであるIntel 8086の各種レジスタと命令セットをまとめた。
レジスタ
汎用
| Register | value(H/L) | 日本語 | 用途 |
|---|
| AX (AH/AL) | | アキュムレータ | 算術演算操作の結果が格納される |
| BX (BH/BL) | | ベースレジスタ | セグメントモードでのDSに格納されたデータを指し示すために使用される |
| CX (CH/CL) | | カウンタレジスタ | シフトローテート命令とループ命令に使用される |
| DX (DH/DL) | | データレジスタ | 算術演算操作とI/O操作に使用される |
インデックス
| Register | value | 日本語 | 用途 |
|---|
| SI | | ソースインデックス | ストリーム操作コマンドでのソースへのポインタとして使用される |
| DI | | ディスティネーションインデックス | ストリーム操作コマンドでの転送先へのポインタとして使用される |
特殊
| Register | value | 日本語 | 用途 |
|---|
| IP | | インストラクションポインタ | 次に実行するアセンブリ命令のアドレスを格納する |
| SP | | スタックポインタ | スタックのトップを指す |
| BP | | スタックベースポインタ | スタックのベースを指す |
セグメント
| Register | value | 日本語 | 用途 |
|---|
| CS | | コードセグメント | |
| DS | | データセグメント | |
| SS | | スタックセグメント | |
| ES | | エクストラセグメント | |
status flags
| Register | value(H/L) | 日本語 | 用途 |
|---|
| FLAGS | | フラグ | プログラムの実行によって変化する CPU の状態を表す |
特殊レジスタの各ビット
| flag | value | ビット | 日本語 | セットされる場合 |
|---|
| CF | | 0 | キャリーフラグ | MSBからのオーバー/ボロー発生時 |
| PF | | 2 | パリティフラグ | 下位 8 ビット中で値 1 のビットの合計数が偶数個になったとき |
| AF | | 4 | 補助キャリーフラグ | ビット 3 からのオーバー/ボロー発生時 |
| ZF | | 6 | ゼロフラグ | ゼロになったとき |
| SF | | 7 | サインフラグ | MSBが 1 になったとき |
| TF | | 8 | トラップフラグ | シングルステップモード指定時 |
| IF | | 9 | 割り込み許可フラグ | 外部(ハードウエア)割り込みの許可時 |
| DF | | 10 | 方向フラグ | STD 命令(ストリング命令で使用) |
| OF | | 11 | オーバフローフラグ | MSBへのオーバー/ボロー発生時 |
命令セット
データ転送
| Mnemonic | Description | Operand |
|---|
| MOV | | |
| PUSH | | |
| POP | | |
| XCHG | Exchange | |
| IN | Input from | |
| OUT | Output to | |
| XLAT | Transfer Byte to AL | |
| LEA | Load EA to register | |
| LDS | Load pointer to DS | |
| LES | Load pointer to ES | |
| LAHF | Load AH with flags | |
| SAHF | Store AH into flags | |
| PUSHF | Push flags | |
| POPF | Pop flags | |
算術
| Mnemonic | Description | Operand |
|---|
| ADD | | |
| ADC | Add with Carry | |
| INC | Increment | |
| AAA | ASCII adjust for add | |
| BAA | Decimal Adjust for add | |
| SUB | Subtract | |
| SSB | Substract with borrow | |
| DEC | Decrement | |
| NEG | Change sign | |
| CMP | Compare | |
| AAS | ASCII adjust for subtract | |
| DAS | Decimal adjust for subtract | |
| MUL | Multiply (unsiged) | |
| IMUL | Iingeter multiply (signed) | |
| AAM | ASCII adjust for multiply | |
| DIV | Divide (unsiged) | |
| IDIV | Integer Divide (siged) | |
| AAD | Ascii adjust for divide | |
| CBW | Convert Byte to Word | |
| CWD | Convert Word to Double Word | |
論理
| Mnemonic | Description | Operand |
|---|
| NOT | Invert | |
| SHL/SAL | Shift Logical/Arithmetic Left | |
| SHR | Shift Logical Right | |
| SAR | Shift Arithmetic Right | |
| ROL | Rotat Left | |
| ROR | Rotat Right | |
| RCL | Rotat Through Carry Flag Left | |
| RCR | Rotat Through Carry Right | |
| AND | And | |
| TEST | And Function to Flags, No Result | |
| OR | Or | |
| XOR | Exclusiv or: | |
文字列操作
| Mnemonic | Description | Operand |
|---|
| REP | Repeat | |
| MOVS | Move Byte/Word | |
| CMPS | Compare Byte/Word | |
| SCAS | Scan Byte/Word | |
| LODS | Load Byte/Wd to AL/AX | |
| STOS | Stor Byte/Wd from AL/A | |
制御(CONTROL TRANSFER)
| Mnemonic | Description | Operand |
|---|
| CALL | | |
| JMP | Unconditional Jump | |
| RET | Return from CALL | |
| JE/JZ | Jump on Equal/Zero | |
| JL/JNGE | Jump on Less/Not Greater | |
| JLE/JNG | Jump on Less or Equal/ | |
| JB/JNAE | Jump on Below/Not Above | |
| JBE/JNA | Jump on Below or Equal/ | |
| JP/JPE | Jump on Parity/Parity Even | |
| JO | Jump on Overflow | |
| JS | Jump on Sign | |
| JNE/JNZ | Jump on Not Equal/Not Zero | |
| JNL/JGE | Jump on Not Less/Greater | |
| JNLE/JG | Jump on Not Less or Equal/ | |
| JNB/JAE | Jump on Not Below/Above | |
| JNBE/JA | Jump on Not Below or | |
| JNP/JPO | Jump on Not Par/Par Odd | |
| JNO | Jump on Not Overflow | |
| JNS | Jump on Not Sign | |
| LOOP | Loop CX Times | |
| LOOPZ/LOOPE | Loop While Zero/Equal | |
| LOOPNZ/LOOPNE | Loop While Not | |
| JCXZ | Jump on CX Zero | |
| INT | Interrupt | |
| INTO | Interrupt on Overflow | |
| IRET | Interrupt Return | |
プロセッサ制御
| Mnemonic | Description | Operand |
|---|
| CLC | Clear Carry | |
| CMC | Complement Carry | |
| STC | Set Carry | |
| CLD | Clear Direction | |
| STD | Set Direction | |
| CLI | Clear Interrupt | |
| STI | Set Interrupt | |
| HLT | Halt | |
| WAIT | Wait | |
| ESC | Escape (to External Device) | |
| LOCK | Bus Lock Prefix | |