汇编语言基础入门:从内存管理到基本指令
1. 寄存器使用注意事项
在进行通用计算时,应避免使用 RSP 和 RBP 寄存器。RSP 寄存器有其特殊用途(它是栈指针),RBP 寄存器同样有特殊用途,这限制了它们作为通用寄存器的实用性。同时,要记住其余寄存器在程序中并非完全可互换。
2. 内存子系统
内存子系统用于存储程序变量、常量、机器指令等数据。内存被组织成一个个单元,每个单元存储一小部分信息,系统可以将这些小单元(或内存位置)的信息组合成更大的信息。
x86 - 64 支持按字节寻址的内存,即基本内存单元是一个字节,足以存储一个字符或一个(非常)小的整数值。可以将内存看作一个线性的字节数组,第一个字节的地址是 0,最后一个字节的地址是 2^32 - 1。对于安装了 4GB 内存的 x86 处理器,以下伪 Pascal 数组声明可以很好地近似表示内存:
Memory: array [0..4294967295] of byte;
C/C++ 和 Java 用户可能更喜欢以下语法:
byte Memory[4294967296];
内存的读写操作如下:
- 写操作 :要执行类似于 Pascal 语句 Memory [125] := 0; 的操作,CPU 将值 0 放在数据总线上,将地址 125 放在地址总线上,并置写线有效(通常是将该线置为 0)。
超级会员免费看
订阅专栏 解锁全文
5329

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



