汇编语言第二章--寄存器

本周我们学习了第二章寄存器,从第一章的了解中我知道了CPU是电脑中最为核心的部分。对于我们来说,CPU中的主要部件是寄存器,不同的CPU,寄存器的个数,结构是不同的。8086CPU的所有寄存器都是16位的,可以存放两个字节。AX可以分为AH和AL,BX可以分为BH和BL,以此类推。处于兼容性的考虑,8086CPU可以一次性处理以下两种尺寸数据:字节记为byte,字记为word。为了区分不同的进制,在16进制表示的数据后面加上H,在二进制表示的数据后面加B,十进制的数据后面什么也不加。

当8086CPU想要读写内存的时候:

(1)CPU中的相关部件提供两个16位的地址,一个称为段地址,一个称为偏移地址。

(2)段地址和偏移地址通过内部总线送入地址加法器。

(3)地址加法器将两个16位地址合成为一个20位的物理地址。

(4)地址加法器通过内部总线将20位物理地址送入输入输出控制电路。

(5)输入输出控制电路将20位物理地址送上地址总线。

(6)20位物理地址被地址总线传送到存储器。

在这个里面,地址加法器采用物理地址=段地址*16+偏移地址的方法将其合成为物理地址。

CS和IP是8086CPU中两个最关键的寄存器,他们指示了CPU当前要读取指令的地址。CS为代码段寄存器,IP为指令指针寄存器。在任意时刻,CPU将CS:IP指向的内容当作指令执行。

我们可以修改 CS、IP的指令:转移指令:能够改变CS、IP的内容的指令,若想同时修改CS、IP的内容,可用jmp 段地址:偏移地址,它的功能是用指令中给出的段地址修改CS,偏移地址修改IP

扫描二维码关注公众号,回复: 3575347 查看本文章

猜你喜欢

转载自www.cnblogs.com/daiyang/p/9785851.html