汇编语言第三章(2×3)寻址方式.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第三章寻址方式

3.1数据寻址方式3.2指令寻址方式3.3跨段的有关问题3.4实模式与保护模式3.5综合举例什么是寻址方式?通常,执行一条带有操作数的指令需要指明两个问题,一是进行什么操作?二是操作数在那里?我们将寻找数据和指令存放地址的方式称为寻扯方式。操作数在计算机运行过程中可能存储的物理位置有指令、CPU、存储器、接口等;不同的存储位置所采用的寻址方式不同。3.1数据寻址方式数据寻址方式即寻找操作数地址的方式,在8086/80286中只能使用16位寻址,而80386及其后继机型则既可用16位寻址,也可用32位寻址,无论多少位寻址实质都是寻找操作数的物理地址。物理地址是由段地址和偏移地址两部分组成,段地址存放在相应的段寄存器中,偏移地址存储在相应的地址寄存器中,偏移地址又称有效地址。有效地址(偏移地址)的组成:如果一个操作数存放在存储器中,那么有效地址可以由以下四部分组成。1.位移量(displacement)是存放在指令中的一个8位、16位和32位的数,但它不是立即数,而是一个地址。2.基址(base)是存放在基址寄存器中的内容。它是有效地址中的基址部分,通常用来指向数据段中数组或字符串的首地址。3.变址(index)是存放在变址寄存器中的内容。它通常用来访问数组中的某个元素或字符串中的某个字符。有效地址(偏移地址)的组成:4.比例因子是386及其后继机型中新增加寻址方式中的一个术语,其值可为1,2,4或8。在寻址中,可用变址寄存器的内容乘以比例因子来取得变址值。这类寻址方式对访问元素长度为2,4,8字节的数组特别有用。有效地址的计算方法可以用下式表示:EA=基址+(变址×比例因子)+位移量(X) 这四个成分中,除比例因子是固定值外,其他三个成分都可正可负,以保证指针移动的灵活性。3.1.116位寻址16位寻址方式是指操作数的偏移地址由16位二进制数组成,段地址保存在DS、ES、SS、CS中,20位物理地址是由段地址左移4位二进制加上操作数的偏移地址形成,最大寻址空间为1MB。1.立即寻址在该寻址方式中,操作数直接存放在指令内,且紧跟在指令操作码之后,指令码和操作数都存放在代码段中。 汇编格式:n 操作数位置:指令 功能:指令码下一单元的内容即为操作数n,操作数存放在指令中。立即寻址例题例3.1MOVAX,2000H说明:MOV是双操作数指令,功能是实现数据传送。该指令的目的操作数是AX,源操作数是2000H,反汇编代码为B80020,其中指令长度为3个字节,立即数2000H占两个字节,且紧跟在指令操作码之后存放在代码段之中。执行前:(AX)=0000H执行后:(AX)=2000H。2.直接寻址在该寻址方式中,指令直接给出了操作数的偏移地址,操作数存放在存储器内,操作数的偏移地址与操作码一起存放在指令中,且紧跟在指令码之后。要想存取操作数必须首先生成物理地址,操作数物理地址是由段地址和偏移地址EA相加而成,默认段为数据段。 汇编格式:[n]或含有变量的地址表达式 操作数位置:存储器 功能:n或含有变量的地址表达式的值是操作数的偏移地址EA,且存放在指令的下一个字单元中,但操作数存放在存储器中。直接寻址例题例3.2MOVAX,[2000H]说明:源操作数采用直接寻址方式,指令码下一字单元的内容2000H为源操作数的EA,操作数存放在存储器中。执行前:(DS)=3000H,执行后:(AX)=5050H例3.3MOVAX,BUFA说明:源操作数采用直接寻址方式,指令码下一字单元的内容为变量BUFA的EA,操作数存放在存储器变量BUFA所指向的存储单元中。指令功能是将字类型变量BUFA的内容送入AX之中。执行前:假定BUFA在数据段中定义,EA=1000H,(DS)=2000H,(AX)=1122H,(21000)=1259H,执行后:(AX)=1259H指令寻址方式即寻找程序指令入口地址的方式,也就是当一条指令执行时,如何确定下一条将要执行指令的入口地址。前面对专用寄存器IP已经讲过,它是专门用来存放下一条将要执行的指令入口地址的寄存器,指令的流向是由IP指针来确定的。一条指令入口地址的表示形式为CS:IP,根据CS和IP的内容,指令寻址方式可分为以下四种:段内直接、段内间接、段间直接、段间间接。3.2指令寻址方式段内直接寻址是指转移指令语句与该指令执行后将跳转到的转向指令语句在同一代码段内,转向指令的有效地址在转移指令语句中直接

文档评论(0)

rotaxane + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档