首页 > 解决方案 > x86-64 ASM。选择寄存器使用的最佳方式

问题描述

假设我有两个寄存器(比如 RAX 和 RDX),我可以在不影响周围代码的情况下自由使用它们。什么更好(假设我之后不需要来自 0xabcd 的临时值):

#1
MOV RAX, [0xabcd]
MOVSX RAX, BYTE PTR [RAX]
MOV [0xbcde], RAX

或者

#2
MOV RAX, [0xabcd]
MOVSX RDX, BYTE PTR [RAX]
MOV [0xbcde], RDX

还是有其他更好的解决方案?一般也想对此进行解释,因为我有很多点在特定地址有一个内存指针并且需要取消引用该指针。

标签: assemblyx86x86-64

解决方案


推荐阅读