アセンブリのメモx64(x86-64)

intel記法で書く

.intel_syntax noprefix
.global main
...

割り算

x64のdiv,idivの仕様は二つのレジスタを引数に取りそれを割るのではない。 動作としては

商:rax = rdx:rax / 第一オペラント
あまり : rdx
表記 div 第一オペラント

マジでこの使用は謎 また、raxレジスタrdx:raxに変換する方法としてcwd,cdq,cqoなどがある。 これらは、何ビットかによって異なる

www.felixcloutier.com

function prologue, function epilogue

呼び出し元のスタックポインタをrbpに退避させてそれをスタックにプッシュする。

push rbp
mov rbp, rsp

(書きかけ)