在汇编中,我试图将 32 位从内存添加到 64 个寄存器,这将加载 64 位:
add arr(,%rax,4),%rbx
所以我尝试了:
add arr(,%rbx
没有用。
我该如何解决这个问题?
您不能直接执行该操作,而是分两步进行:首先您需要将您的值零扩展到一个额外的寄存器中,然后您才能使用它进行加法。
应该是这样的:
movl arr(,%rax,4),%edx add %rdx,%rbx