0
我想一个字节从寄存器RDX移动到寄存器RBX,像这样:86 64 AT&T,移动寄存器的部分到另一个寄存器
mov %rdx , (%rbx,%r15,1)
其中 RDX包含0x33 ,R15是指数和rbx在开始时包含0。
我已经尝试过在很多方面使用这种方法,总是以SIGSEGV错误结束。 最终我要创建一个RBX寄存器,其将包含下RDX的值的数组
我想一个字节从寄存器RDX移动到寄存器RBX,像这样:86 64 AT&T,移动寄存器的部分到另一个寄存器
mov %rdx , (%rbx,%r15,1)
其中 RDX包含0x33 ,R15是指数和rbx在开始时包含0。
我已经尝试过在很多方面使用这种方法,总是以SIGSEGV错误结束。 最终我要创建一个RBX寄存器,其将包含下RDX的值的数组
可以在一个时间中一个的字节偏移,这样的:
; Calculate first dl
...
mov %dl,%bl
; Calculate next dl
...
shlq $8,%rbx
mov %dl,%bl
; Calculate next dl
...
shlq $8,%rbx
mov %dl,%bl
等这假定您希望msb中的第一个字节以及lsb中的最后一个字节。 revesre秩序有点复杂,但并不多。
非常好的主意,谢谢! – Piodo
您没有进入寄存器,而是进入由rbx和r15引用的内存位置。这就是段错误的原因。 –
“rbx寄存器将包含下一个rdx值的数组” - 这没有任何意义,你是什么意思? – harold