汇编语言程序设计第三章教程.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.1.1 指令的基本格式(1) 指令一般由操作码OP、寻址方式(Addressing Mode)和一个或多个操作数OD等字段组成。 按操作数个数划分,可表示为: OP 操作数 OP 目的操作数,源操作数 ;至少一个操作数是寄存器 OP ;操作数隐含 例如: INC AX ;AX+1→AX SUB BX,CX ;BX-CX → BX CLC ;0 → CF 3.1.1 指令的基本格式(2) 寻址方式用来说明操作数的偏移地址EA(Effective Address)的形成方式。偏移地址也称为有效地址, 指的是相对于段起始地址的位移。 3.1.1 指令的基本格式(3) 3.1.1 指令的基本格式(4) 存储器单元的物理地址 PA=段寄存器的值*24+偏移地址 其中PA为20位的地址,段地址及偏移地址为16位。 以BP来寻址PA,默认的段寄存器是SS;以BX,SI,DI来寻址PA,默认采用DS。可以采用段超越来指定需要段存器。 DS可被CS,SS,ES,FS,GS超越;SS能被CS,DS,ES,FS,GS超越。 3.1.1 指令的基本格式(5) 例如:设FIVE的段地址是4000H,存放在DS中,EA=10H , 则 FIVE DB 5 MOV AL,FIVE 变量FIVE的PA=DS*24+EA=40000H+10H=40010H 设FIVE的段地址已经存放在ES中,则通过段超越前缀可以改变默认指定的段寄存器。 MOV AL, ES:FIVE ;PA=ES*24+EA 3.1.2 数据寻址方式 1、立即寻址 操作数直接放在指令中,又称为立即数寻址。 如:MOV AX, 2018H MOV CL,96H 2、寄存器寻址 操作数存放在寄存器中。 例如:MOV DX,AX VAR DW ? MOV VAR, AX 注意:如果两个操作数都是寄存器,则类型(长度)必须一致。 MOV DX,AL ;错误,AL是8位,DX则是16位,类型不一致。 3、直接寻址 指令操作码OP后面直接给出操作数的16位偏移地址EA。 偏移地址可以是数值地址或符号地址。 直接寻址给出地址的默认段寄存器是数据段寄存器(DS)。 例如: MOV AX, [3020H] 或者: VAR DW 86 MOV AX,VAR 段超越形式: MOV AX,ES:[3020H] 4.寄存器间接寻址 5.寄存器相对寻址 操作数的偏移地址EA是指令中 8位或16位位移量(DISP8,16)加上 基址寄存器或变址寄存器的内容之和。 即EA={BX∨BP ∨SI ∨DI}+DISP8,16 例如:设COUNT=2000H, SI=06H, DS=4000H, 则 COUNT DW 5,6,3,7,8 MOV AX, COUNT[SI] 6.基址变址寻址 操作数的偏移地址EA是由指令说明的一个基址寄存器和一个变址寄存器的内容之和。 EA={BX∨BP}+{SI ∨ DI} 如:BX=100H, SI=80H, DS=4000H MOV AX,[BX][SI] PA=? 7.相对基址变址寻址 操作数的偏移地址是指令中一个8位或16位的偏移量加上基址寄存器和变址寄存器的内容之和。即: EA={BX ∨BP}+{SI ∨DI}+{DISP8,16} 如:设COUNT=0140H, BX=600H, SI=10H, DS=2000H MOV AX,COUNT[BX][SI] PA=? 练习 已经DS=2000H,SS=2001H, BP=0F3H, SI=2,内存单元的值如图所示。 给出下列指令的源操数的寻址方式, 以及执行后AX的值。 (1)MOV AX,1200H (2) MOV AX,BX (3) MOV AX,[BX] (

文档评论(0)

新起点 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档