我不明白这段汇编代码的作用。
for (int m = monthNum; m <= 12; m++) { ... }
我得到了imul和cmp指令的作用,但是我不明白-0x4(%rsp,%rbx,4)和-0x8(%rsp,%rbx,4)的含义。如果需要,我可以提供更多上下文,但是我真正想要的只是这两行的字面翻译。第一行的%eax中存储了什么? %rbx * 4和%rsp的乘积-8?
答案 0 :(得分:2)
%eax
中存储的是-0x8(%rsp, %rbx, 4)
和%eax
的乘积。
-0x8(%rsp, %rbx, 4)
是存储器位置%rsp + 4*%rbx - 8
的内容。