汇编语言第2课、寄存器


CPU 由运算器、控制器和寄存器等器件构成,这些器件靠内部总线相连。前一章的总线相对于 CPU 内部来说是外部总线。内部总线实现 CPU 内部各个器件之间的联系,外部总线实现 CPU 和主板上其他器件的联系。


2.1 通用寄存器

8086CPU 的所有寄存器都是 16 位的,可以存放两个字节,AX、BX、CX、DX这四个寄存器被称为通用寄存器
在这里插入图片描述
为兼容上一代 8 位CPU,这四个通用寄存器可以分为两个独立的8位寄存器来使用:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ah 和 al 是两个独立的 8 位寄存器,不会进位。

在进行数据传送或运算时,要注意指令的两个操作对象的位数应该是一致的,8 位寄存器和 16 位寄存器之间无法传送数据。


2.2 物理地址
  • 16 位 CPU 的特性:
    在这里插入图片描述
    由于 8086 CPU 地址总线为 20 位,可以有 1 MB 的寻址能力,但 8086 CPU是 16 位 CPU,一次只能送出 16 位地址,寻址能力只有 64KB,因此在内部用两个 16 位地址合成的方法来形成一个 20 位的物理地址
    在这里插入图片描述
    在这里插入图片描述

2.3 段寄存器

8086 CPU 有 4 个段寄存器:CS(code)、DS(data)、SS(stack)、ES(extra)
在这里插入图片描述

  • 8086CPU 的工作过程可以简要描述如下:
    在这里插入图片描述

总结:CPU 将 CS:IP 指向的内存单元中的内存看做指令,因为,在任何时候,CPU 将 CS、IP 中的内容当做指令的段地址和偏移地址,用他们合成指令的物理地址,到内存中读取指令码,执行。如果说,内存中的一段信息曾被 CPU 执行过的话,那么它所在的内存单元必然被 CS:IP指向过。


2.4 修改指令

在这里插入图片描述
CPU 从何处执行指令是由CS、IP 中的内容来决定的,可以通过改变CS、IP 的内容来控制 CPU 执行目标指令。

同时修改CS、IP 的内容:jmp 段地址:偏移地址。用指令给出的段地址修改CS,偏移地址修改 IP。

仅修改IP的内容:jmp ax;


2.5 Debug 的使用

在这里插入图片描述
实验任务1:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实验任务2:
在这里插入图片描述
在这里插入图片描述
实验任务3:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值