assembly - 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
还是有其他更好的解决方案?一般也想对此进行解释,因为我有很多点在特定地址有一个内存指针并且需要取消引用该指针。
解决方案
推荐阅读
- checkbox - 模板只能与字段访问、属性访问、单维数组索引或单参数自定义索引器一起使用
- python - 稀有对象的python类型注释
- xamarin - Xamarin Forms iOS 远程通知不显示
- r - 如何过滤R中数据框中列表中的值?
- facebook - Facebook Insights API 未返回商店访问数据
- sql - SQL:我如何通过只有直接位于其正下方的 null 的 id 进行分组?
- c# - 通过 DocuSign API 向现场主持人发送多封完成电子邮件
- pandas - 比较数据框列:TypeError:无法将“StringDtype”解释为数据类型
- java - 使用 @Before 和 @BeforeClass 使用 JUnit 实例化变量时遇到问题
- angular - 如何为 HTML 属性设置值?