问题描述
我想了解一些汇编代码:
0x0000000000401024 <+55>: mov $0x0,%ecx
0x0000000000401029 <+60>: mov $0x0,%edx
0x000000000040102e <+65>: add $0x1,%edx
0x0000000000401031 <+68>: cltq
0x0000000000401033 <+70>: mov 0x402360(,%rax,4),%eax
但是我很难真正理解这段代码。我读到cltq将4字节字转换为8字节字。这总是用于eax和rax吗?因此,从本质上讲,rax充满了eax并考虑了符号,而rax中的其他信息也丢失了。这是正确的吗?
此外,下一行代码的结果是什么?我认为%rax中的值乘以4并加到0x402360,然后将与该地址对应的值放入eax。
我在想什么错,什么是对的?谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)