フラグ
フラグの種類 | 呼び名 |
---|---|
O | オーバーフロー |
D | ディレクション |
I | インタラプトイネーブル |
T | トラップ |
S | サイン |
Z | ゼロ |
A | 補助キャリー |
P | パリティ |
C | キャリー |
命令セットのニーモニック
命令の種類 | ニーモニック | ニーモニックの意味 命令の意味 |
---|---|---|
転送 | mov | コピー |
転送 | mov | ロード(メモリ等からレジスタへコピー) |
転送 | mov | ストア(レジスタからメモリ等へコピー) |
転送 | xchg | 入れ替え |
算術 | adc, add | 加算 |
算術 | sbb, sub | 減算 |
算術 | mul | 乗算 |
算術 | div | 除算 |
算術 | inc, dec | 1足す,1引く |
論理演算・ビット操作 | and, or, xor | 論理積・論理和・排他的論理和 |
論理演算・ビット操作 | neg, not, test | 符号反転・反転・テスト |
シフト | sal | 論理左シフト |
シフト | sar | 論理右シフト |
シフト | shl | 算術左シフト |
シフト | shr | 算術右シフト(キャリーを含めてシフト) |
ローテート | rol | 左ローテート |
ローテート | ror | 右ローテート |
ローテート | rcl | キャリーを含めて左ローテート |
ローテート | rcr | キャリーを含めて右ローテー |
条件分岐 | JE | 前の結果が0なら分岐.ゼロフラグ=1なら分岐. |
条件分岐 | JNE | 前の結果が1ならば分岐.ゼロフラグ=0なら分岐. |
条件分岐 | JL | 前の結果が0より小さければ分岐 |
条件分岐 | JG | 前の結果が0より大きければ分岐 |
条件分岐 | JLE | 前の結果が0以下なら分岐 |
条件分岐 | JGE | 前の結果が0以上なら分岐 |
条件分岐 | jmp | 分岐,ジャンプ |
条件分岐 | JG | 前の結果が0より大きければ分岐 |
条件分岐 | JLE | 前の結果が0以下なら分岐 |
条件分岐 | JGE | 前の結果が0以上なら分岐 |
コール | call | サブルーチンへ分岐 |
コール | ret | サブルーチンから復帰 |
スタック | push | スタックに積む |
スタック | pop | スタックから復帰 |
その他 | NOP | 何もしない |
ニーモニックの前後に付く文字の意味
接尾辞の種類 | 接尾辞の文字の意味 | 意味 | 命令の例 |
---|---|---|---|
...B | byte | 1バイト | MOVB, ADDB, BRAB |
...W | word | 2バイト | MOVW, ADDW, BRAW |
...L | long | 4バイト | MOVL, DIVL, JMPL, PUSHL, JL, COMPL |
...I,I... | integer | 整数 | DIVSI, IMUL |
...S | singed | 符号付 | ADDSL, MULSI, SUBS |
...C | with carry | キャリーやボローを考慮 | ADDC, SUBC |
レジスタ名の表記
レジスタ名の前に%を付ける
表記 | ビット数 | 役割 |
---|---|---|
eax,ecx,edx,ebx,esp,ebp,esi,edi | 32bit | 汎用レジスタ |
AX, BX, CX, DX | 16bit | 汎用レジスタ(EAX, EBX, ..)の下位16bit |
AH, AL | 8bit | AXの上位8bit, 下位8bit |
cs,ds,es,fs,gs,ss | 16bit | セグメントレジスタ |
SP | CPUのビット数 | スタックポインタ |
PC | CPUのビット数 | プログラムカウンタ |
アドレッシングモードの表記
数値の前に$を付ける
レジスタ間接アドレッシングは、(%esi)です。
以上。