汇编 学习笔记2

本文详细介绍了8086CPU的内部结构,包括运算器、控制器和寄存器,以及其16位数据处理能力。重点讲解了20位地址总线如何通过段地址和偏移地址合成物理地址,物理地址计算方式为段地址左移4位加上偏移地址。此外,还探讨了CPU寻址范围和内存寻址的限制,以及如何通过不同段地址和偏移地址组合访问特定内存位置。
摘要由CSDN通过智能技术生成

一个典型的CPU由运算器,控制器,寄存器等器件组成

内部总线实现CPU内部各个器件之间的联系,外部总线就是地址总线,控制总线等的这些联系CPU和主板上其他器件的联系

8086CPU的所有寄存器是16位的


  • 16位的CPU一次性最多可以处理16位的数据
  • 通用寄存器最大宽度为16位(状态寄存器这些不一定是16位)
  • 寄存器与运算器之间的通路是16位
  • 8086有20位的地址总线,寻址能力为1M
  • 但是内部CPU却是16位

所以20位是由两个16位的数据进行加工得来的,可以看一下下图,段地址是16位,偏移地址是16位的,经过地址加法器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HrjQTKx6-1631087489414)(C:\Users\windows\AppData\Roaming\Typora\typora-user-images\image-20210908151940515.png)]

地址加法器合成物理地址的方法:

物理地址 = 段地址 x 16 + 偏移地址

也就是段地址左移4位加上偏移地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pMC2QjmE-1631087489416)(C:\Users\windows\AppData\Roaming\Typora\typora-user-images\image-20210908152636199.png)]

这样是因为内存太大,寄存器性能不足导致的

例如:

21F60H

上面这个

地址可以由

2000H 1F60H

2100H 0F60H

等组成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9wJsxVXV-1631087489417)(C:\Users\windows\AppData\Roaming\Typora\typora-user-images\image-20210908153555891.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eqf67oYI-1631087489419)(C:\Users\windows\AppData\Roaming\Typora\typora-user-images\image-20210908153827762.png)]


习题:

  • 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 _ 到 _

物理地址=SA*16+EA

EA的变化范围为0h~ffffh

物理地址范围为(SA16+0h)~(SA16+ffffh)

现在SA=0001h,那么寻址范围为

(0001h16+0h)~(0001h16+ffffh)

=0010h~1000fh

  • 有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻址到此单元,则SA 应满足的条件是?

最大为2000H很好解释,主要是是最小值,其实画一下图就出来了,答案是1001H - 2000H

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值