image.png
    一、通用寄存器:
    1、一个典型的CPU由运算器,控制器,寄存器等组成,这些器依靠内部总线相连
    2、内部总线和外部总线的区别:
    内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU与主板上其他期间的联系
    3、8086CPU14个寄存器,它们分别是:
    AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW
    注:8086 CPU所有的寄存器都是16位的,可以存放一个字,例:
    AX分为AH(高8)和AL(低8),其目的是为了兼容上一代8位CPU
    4、AX、BX、CX、DX 通常用来存放一般性数据被称为通用寄存器
    5、SP是堆栈指针寄存器,BP是基指针寄存器,IP是指令指针寄存器(存放指令的偏移地址)
    image.png

    二、字在寄存器中的存储:
    一个字可以存在一个16位寄存器中,这个字的高位字节和低位字节就存在这个寄存器的
    高8位寄存器和低8位寄存器中

    三、几条汇编指令:
    image.png
    说明:汇编指令不区分大小写

    四、物理地址:
    1、物理地址:CPU访问内存单元时要给出内存单元的地址,所有的内存单元所构成的存储空间是一个一维的线性空间,这个一维的地址称为物理地址

    2、16位结构的CPU具有以下特点:
    ①、运算器一次最多可以处理16位的数据
    ②、寄存器的最大宽度位16位
    ③、寄存器和运算器之间的通路是16位的

    3、8086CPU有20位(最大FFFFF)的外部地址总线,而CPU是16位的,内部寄存器是16位(FFFF)的,寄存器为了存储20位的地址数据,所采取的方法:
    物理地址 = (段地址 X 16)+ 偏移地址
    注:十六进制的数 X 16,就是将此数后加一个零,例如:0xAF X 16 = 0xAF0

    五、段的概念:
    1、内存并没有分段,断的划分来自CPU,由于8086CPU用“物理地址 = (段地址 X 16)+ 偏移地址”的方式给出内存单元的物理地址,使得我们可以用分段的方式来管理内存。以后,在编程时可以根据个人需要,将若干连续地址内存单元看作一个段。可用段地址 X16 可定位段的起始地址(基础地址),可用偏移地址精确定位段中的内存单元

    六、段寄存器:
    1、段寄存器就是存放段地址
    2、8086CPU有4个段寄存器:
    ①、CS:代码段寄存器(是存放指令的段地址)
    ②、DS:数据段寄存器
    ③、SS:堆栈段寄存器
    ④、ES:附加段寄存器
    3、CS:代码段寄存器(是存放指令的段地址)、IP是指令指针寄存器(存放指令的偏移地址),在8086CPU上电启动或复位(CPU刚开始工作时),CS、IP被设置为CS=FFFFH,IP=0000H。即8086PC机刚启动时,CPU从内存FFFF0H单元中读取指令执行,FFFF0H单元中的指令是8086PC机开机后执行的第一条指令

    4、在CPU中,程序员能够用指令读写的部件只有寄存器,程序员可以通过改变寄存器中的内容实现对CPU的控制,CPU从何处执行指令是由CS、IP中的内容决定的,程序员可以通过改变CS、IP的内容来控制CPU执行目标指令。转移指令jmp可以改变CS、IP,jmp 段地址 : 偏移地址

    七、debug命令:
    R命令:查看、改变CPU寄存器的内容
    D命令:查看内存中的内容
    E命令:改写内存中的内容
    U命令:将内存中的机器指令转成汇编指令
    T命令:执行一条机器指令
    A命令:以汇编指令的的格式在内存中写入一条机器指令