x86-64アセンブリの基本
アセンブリ言語の基本を先に参照すると良い。
ここではAT&T記法と呼ばれる記法を用いる。
例
code:ASM x86-64
addl %ebx,%ecx; ebxとecxを加算して結果を ecxに格納
addlのlは、オペレーションサフィックスと呼ばれ、レジスタのサイズを指定する。
ebx,ecxなどが32bitレジスタ、rbx,rcxなどが64bitレジスタを表す。
64bitレジスタを扱う例
code:ASM x86-64
movq %rbx,%rcx;rbxの値をrcxにコピー
x86-64では、メモリの読み書きもmov命令で可能。
code: ASM x86-64
movq(%rbx),%rax; rbxの指すメモリ上のデータをraxに転送
movq %rax ,(%rbx); raxの値を、rbxの指すメモリに転送