汇编语言(2)——寻址与执行

《汇编语言(王爽 著)》读书笔记

1. 8086CPU形成物理地址的方式

1.1 段的概念及使用

  8086CPU共有20根地址总线,理论上其寻址能力最大寻址空间为220即1MB。然而8086CPU为16位CPU,也就是说它能一次行处理、传输和暂存的为16位。它采用一种在CPU内部用两个16位地址合成的方法来形成一个20位的物理地址,如图2.1所示。


8086CPU形成物理地址的方式


图2.1 8086CPU形成物理地址的方式

  8086CPU中的相关部件给出两个16位的地址,一个被称为段地址(Segment Address,简称SA),一个被称为偏移地址(Effective Address,简称EA)。地址加法器采用

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

的方法合成物理地址。其本质就是,CPU用一个基础地址加上一个相对于基础地址的偏移地址,得到一个内存单元的物理地址。不难看出,段地址是16字节对齐的,并且一个段的大小最大可以为216即64KB。

  但是这并不意味着内存已经被事先划分为16字节为一个单位的段,段的划分和解释只来自于CPU。比如,我们可以认为物理地址为10000H~100FFH的内存单元组成一个段。该段的起始地址(基础地址)为10000H,段地址为1000H,大小为100H。也可以认为物理地址为10010H~100FFH的内存单元组成一个段。该段的起始地址为10000H,段地址为1001H,大小为EFH。通常我们将物理地址记作

段地址:偏移地址

的形式。这样,对于同一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值