汇编语言第二章--寄存器
Posted daiyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编语言第二章--寄存器相关的知识,希望对你有一定的参考价值。
本周我们学习了第二章寄存器,从第一章的了解中我知道了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
以上是关于汇编语言第二章--寄存器的主要内容,如果未能解决你的问题,请参考以下文章