汇编语言中的指针、复合数据类型与字符串处理
1. 指针基础
在汇编语言中,指针是一个重要的概念。通过将指针 p 的值加载到 RBX 寄存器,代码可以将 1000_0000h 加载到 RBX 中(假设 p 包含 1000_0000h )。随后的指令会将 RAX 寄存器加载从 RBX 所指向的位置开始的 qword 值。例如,若 RBX 为 1000_0000h ,则会从 1000_0000h 到 1000_0007h 加载数据到 RAX 。
为什么不直接使用 mov rax, mem 指令从 1000_0000h 加载数据到 RAX 呢(假设 mem 地址为 1000_0000h )?主要原因是 mov 指令总是从固定的 mem 位置加载数据,无法改变加载地址。而前面的指令则是从 p 所指向的位置加载数据,这个地址可以在程序控制下轻松改变。
下面的代码片段展示了这一点:
超级会员免费看
订阅专栏 解锁全文
884

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



