アセンブリのメモx64(x86-64)
intel記法で書く
.intel_syntax noprefix .global main ...
割り算
x64のdiv
,idiv
の仕様は二つのレジスタを引数に取りそれを割るのではない。
動作としては
商:rax = rdx:rax / 第一オペラント あまり : rdx 表記 div 第一オペラント
マジでこの使用は謎
また、rax
のレジスタをrdx:rax
に変換する方法としてcwd
,cdq
,cqo
などがある。
これらは、何ビットかによって異なる
function prologue, function epilogue
呼び出し元のスタックポインタをrbpに退避させてそれをスタックにプッシュする。
push rbp mov rbp, rsp
(書きかけ)