- 1、本文档共92页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章计算机基本原理讲述
* * * * 2.物理地址 3.逻辑地址 逻辑地址是用户编程时使用的地址,分为段地址和偏移地址两部分。 在8086汇编语言中,把内存地址空间划分为若干逻辑段,每段由一些存储单元构成。 用段地址指出是哪一段,偏移地址标明是该段中的哪个单元。段地址和偏移地址都是16位二进制数。 逻辑地址的形式: 段地址:偏移地址 例1 用十六进制分别表示的三个逻辑地址如下: 3020:055AH 3021:054AH 2C43:432AH 4.逻辑地址与物理地址的转换 用户编程时采用的逻辑地址在CPU执行程序时都要转换成实际的物理地址,这个转换过程是由CPU中的地址加法器自动完成的。 转换公式为: 物理地址=段地址×10H+偏移地址 例1 若逻辑地址为3020:055AH,其物理地址=3020H×10H+055AH=3075AH。 练习: 根据给出的逻辑地址,计算物理地址。 逻辑地址= 2C43:432AH , 物理地址=? 2E37:9822H , 886F:7911H , 1234:05ACH , 2.4.5 存储器分段 1.分段的概念 8086CPU的地址寄存器只有16位,如果直接从地址寄存器中发出地址信号,所能访问的存储空间就只有216=64KB,达不到20位地址线所提供的地址范围。 将存储器划分为若干逻辑段,每段最大64K字节单元。 逻辑段的大小可变,每段最少16个字节单元,也可以100个、1000个到最大可达65536个字节单元。 段地址和偏移地址构成逻辑地址。 例如:逻辑地址为1200:2650H。 在存储器中,规定每16个字节单元为一小段,每小段的第一个单元的物理地址称为小段的首地址,8086的1MB内存空间的20位物理地址用十六进制表示如下: 规定:存储器分段时,各段的起始地址必须是小段的首地址,即逻辑段必须从任一个小段的首单元开始,而不能从其它的字节单元开始。 小段首地址的共同的特点是十六进制表示的物理地址的最低位都是0,如果把0去掉(二进制的地址去掉4个0),就可以用16位段寄存器保存小段的首地址。 例1 定义2个段,第一个段的段地址为0002H,共16个单元;第二个段的段地址为4123H,共1024个单元。如图标出了各段首单元和末单元的逻辑地址。 每一个段内的偏移地址都是从0000H开始的。 第一段的首单元的物理地址00020H,末单元的物理地址0002FH 第二段的首单元的物理地址为41230H,末单元的物理地址为4162FH。 2.段的类型 8086汇编语言中把逻辑段分为四种类型,分别是代码段、数据段、附加段和堆栈段。 各段的逻辑地址对应表: 段名 段寄存器 偏移地址 代码段 CS IP 数据段 DS BX、SI、DI等地址寄存器 附加段 ES BX、SI、DI等地址寄存器 堆栈段 SS SP或BP 例1段寄存器与其偏移地址如下,写出其相应的物理地址及含义。 CS=1896H,IP=1655H 当前要执行的指令的物理地址=18960H+1655H=19FB5H DS=2896H,EA=1655H 当前要访问的数据的物理地址=28960H+1655H=29FB5H ES=1896H,EA=2655H 当前要访问的数据的物理地址=18960H+2655H=1AFB5H SS=1896H,SP=3655H 当前要访问的堆栈的物理地址=18960H+3655H=1BFB5H 例2 段寄存器与内存的分段情况如图。观察各段的大小及分布,判断其地址范围,标出每个段首地址和末地址。 代码段共64KB单元,它的地址范围应该是210E0H~310DFH。 附加段只有2KB,地址范围在34600H~34CFFH之间。 数据段为16KB,其地址范围为34D00H~38CFFH。 堆栈段只有512个字节单元,它的地址范围是84180H~8437FH。 你懂了吗? 2.5 实例二 进入计算机 1.DEBUG的主要命令 2.进入DOS 3. 进入DEBUG 2.5.1 调试工具DEBUG 1.DEBUG的主要命令 DEBUG命令有20多个,先学习最常用的命令。 R ——查看和修改寄存器 D ——查看内存单元 E ——修改内存单元 U ——反汇编,将机器指令变为汇编指令 T /P——单步执行 G ——连续执行程序 A ——输入汇编指令 Q ——退出 2.进入DOS DEBUG要先进入DOS环境中再使用,在Windows下进入DOS的方法可选择两种。 (1)在Windows桌面下单击开始菜单,选择运行命令;在弹出的文本框中输入cmd;按确定后进入DOS
文档评论(0)