アセンブリ言語

記法の種類

プロセッサによってアセンブリ言語の記法が異なり、「intel記法」と「AT&T記法」がある。

intel記法

AT&T記法

プレフィックスが付くという特徴がある。(値に, レジスタに

コマンドの構成

intel記法の例
intel記法の例

オペコード一覧

 
オペコードまとめ (intel記法)
オペコード概要例の説明
movmov eax, 2(eax=2) mov eax, ebx(eax=ebxの格納値)
pushレジスタの値をスタックに積むpush rbprbpの格納値をスタックに積む
poppop rbprbpにスタック値を格納
jmp指定したアドレスへ移動jmp r13
leaメモリのアドレス自体をディスティネーションに書き込む [Load Effective Address]lea rax,[rbp-0x110] rbpの値が0x7ffffffedca0の場合、 raxに0x7ffffffedb90を書き込む
leave下記の命令と同等の処理を実行 MOV rsp, rbp POP rbp
call次の命令のアドレスをstackにpushし、ripにオペランド(呼び出す関数)のアドレスを代入call 4011b6 <func>次の命令のアドレスをstackにpushし、ripレジスタに呼び出す関数のアドレス0x4011b6を代入 push eip mov eip, <func>
ret元の関数に戻る。 stackからpopしたアドレスをripに代入ret

参考