486 レジスタ | |||
レジスタ名 | データサイズ(bit) | 説明 | |
eax | |||
ebx | |||
ecx | |||
edx | |||
esi | |||
edi |
486命令一覧 | |||
命令コード | オペランド | データサイズ(bit) | 機能 |
mov | ope1,ope2 | 8,16,32 | データ転送 |
movzx | ope1,ope2 | 8,16,32 | データ転送。例、mov eax,dx;//eax:0xF87A53C6,dx:0xFF88 → eax:0x0000FF88 |
inc | ope1 | 8,16,32 | インクリメント。キャリーフラグに影響しない。 |
dec | ope1 | 8,16,32 | デクリメント。キャリーフラグに影響しない。 |
add | ope1,ope2 | 8,16,32 | たしざん |
sub | ope1,ope2 | 8,16,32 | ひきざん |
or | ope1,ope2 | 8,16,32 | OR演算 |
and | ope1,ope2 | 8,16,32 | AND演算 |
test | ope1,ope2 | 8,16,32 | andをやってフラグ変化だけ残す。ope1に戻さない |
xor | ope1,ope2 | 8,16,32 | XOR演算 |
not | ope1 | 8,16,32 | 全ビットを反転 |
shl | ope1,ope2 | 8,16,32 | 左ビットシフト。ope2には1(即値)かclのどちらか |
shr | ope1,ope2 | 8,16,32 | 右ビットシフト。ope2には1(即値)かclのどちらか |
rol | ope1,ope2 | 8,16,32 | 左ローテート。ope2には1(即値)かclのどちらか |
ror | ope1,ope2 | 8,16,32 | 右ローテート。ope2には1(即値)かclのどちらか |
cmp | ope1,ope2 | 8,16,32 | ope1からope2を引く(比較)。ope1に戻さない |
jmp | ope1 | 32 | 無条件ジャンプ |
jz | ope1 | 32 | ゼロフラグ1でジャンプ |
jc | ope1 | 32 | キャリーフラグ1でジャンプ |
ja | ope1 | 32 | キャリー、ゼロともに0でジャンプ |
jbe | ope1 | 32 | キャリー、ゼロいずれか1でジャンプ |
jcxz | ope1 | 32 | cxが0でジャンプ |
loop | ope1 | 32 | cxを-1して0以外でジャンプ |
push | ope1 | 16,32 | スタックへ退避 |
pop | ope1 | 16,32 | スタックから取り出し |
nop | --- | --- | なにもしない(1命令分やり過ごす) |
xchg | ope1,ope2 | 8,16,32 | ope1,ope2の値を入れ替える |
cpuid | --- | --- | eaxの値をチェックしてeax,edxに値を入れる。 |