Armv8-32核心编程:整数操作与移动指令详解
1. 整数操作概述
在Armv8-32架构中,整数操作涉及常见的加载、存储和移动指令。A32指令集采用32位固定长度编码,这意味着指令编码无法包含完整的32位地址、常量值或基寄存器偏移量,因为大部分编码位用于指定要执行的操作及其寄存器操作数。在编写A32汇编语言函数时,有时需要使用多条指令或伪指令来完成整数加载或移动操作。
2. 加载指令
以下是示例Ch02_04的代码:
//------------------------------------------------
// Ch02_04.cpp
//------------------------------------------------
#include <iostream>
using namespace std;
extern "C" int TestLDR_(void);
int main(int argc, char** argv)
{
int result = TestLDR_();
cout << "result = " << result << '\n';
return 0;
}
//------------------------------------------------
// Ch02_04_.s
//------------------------------------------------
.data
Fo
超级会员免费看
订阅专栏 解锁全文
45

被折叠的 条评论
为什么被折叠?



