5
このx64のNASM-構文アセンブリを検討:NASMとアセンブル(とGNU LDとリンク)後"inc qword [rsp]"に対してこのマシンコードが生成されるのはなぜですか?
inc qword [rax]
inc qword [rcx]
inc qword [rdx]
inc qword [rbx]
inc qword [rsp]
inc qword [rbp]
inc qword [rsi]
inc qword [rdi]
を、objdump -d
は次のように報告されます
4000b0: 48 ff 00 incq (%rax)
4000b3: 48 ff 01 incq (%rcx)
4000b6: 48 ff 02 incq (%rdx)
4000b9: 48 ff 03 incq (%rbx)
4000bc: 48 ff 04 24 incq (%rsp)
4000c0: 48 ff 45 00 incq 0x0(%rbp)
4000c4: 48 ff 06 incq (%rsi)
4000c7: 48 ff 07 incq (%rdi)
inc qword [rbp]
ために生成されたコードがので理にかなっていますmodフィールドが設定されます。しかし、inc qword [rsp]
を組み立てるときに24
がどこから来るのか分かりません。私はcoder64 #xFFを見てきましたが、そこに24が生成されるべきことが示唆されるものはありません。私は明らかに高いレベルで何かが欠けている。
完璧、ありがとうございます! – jli