讲义资料文稿寻址方式_专题201709.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文档。上传文档
查看更多
* 第三章 指令系统 * 第三章 8086指令系统 (一) 基本概念 陆尧胜 暨南大学信息科学技术学院电子工程系 微机系统与接口 汇编语言中的寻址方式 (专题课) 陆尧胜 暨南大学信息科学技术学院电子工程系 第三章 8086指令系统 汇编语言的寻址方式 8086/8088 CPU寻址方式: 1. 立即寻址 立即寻址方式的操作数(立即数)直接存放在指令中,它紧跟在操作码之后,作为指令的一部分存放在代码段中. ? 例如: MOV AL,66H ???? MOV AX,6677H 2. 直接寻址 直接寻址方式中操作数地址的16位偏移量(有效地址)直接存放在指令操作码之后, 它和操作码一起存放在代码段中. 默认情况下,基址存放在DS(段寄存器)中. 例如: MOV AX, [4000h] 3. 寄存器寻址 ★ 16位时,可以使用AX,BX,CX,DX,BX,BP,SI,DI中的任何一个. ★ 8位时,可以使用AH,AL;BH,BL;CH,CL;DH,DL中的任何一个. (变量)?? 例如: MOV DS, AX? 4. 寄存器间接寻址 ?? 1) 以BX,SI,DI作为间址寄存器时,操作数在数据段中,所以用DS作为基址寄存器. ?? 2)以BP作为间址寄存器时,操作数在堆栈段中,所以使用SS作为基址寄存器 例:?MOV AX, [BX] 或 MOV AX, [SI] 或 MOV AX, [DI]-----DS基址 ???? MOV AX, [BP]-----SS基址 5. 寄存器相对寻址方式 ★ 对于BX寄存器来说,使用DS作为基址寄存器. ???????? 例如: ?????????? MOV AX, COUNT[BX]? 或?? MOV AX, [COUNT+BX] ------DS基址, COUNT是一个 8位或16位的位移量 ★ 对于BP寄存器来说,使用SS作为基址寄存器. ??????? 例如: ????????? MOV AX,COUNT[BP]?? 或?? MOV AX, [COUNT+BP] ------SS基址 6. 基址变址寻址 ????其有效地址是一个基址寄存器和一个变址寄存器的内容之后;使用2个变址寄存器SI, DI. 基址变址寻址可用于访问两维数组元素 ???? 例如: ???MOV AX,[BX][SI]???? 或?? MOV AX,[BX+SI]?? ‘原变址寻址 ???MOV AX,[BX][DI]???? 或?? MOV AX,[BX+DI]?? 目的变址寻址 7. 基址变址且相对寻址 ? 其有效地址是一个8位或16位的位移量DISP,一个基址寄存器内容和一个变址寄存器内容三部分之和。??? 例如: ?????? MOV AX, [BX+SI+DISP] 下面,用几种不同寻址方式来完成内存中数据块的传送这个具体例子来阐述寻址方式 例:将以DATA1为起始地址的30个字 符串依次传送到同数据段的以DATA2为 起始地址的一片字节存储单元里。 方法一:用寄存器间接寻址方式 数据块是用DB定义的一个字符串DATA1.用寄存器间接寻址方式访问DATA1和DATA2, 即用[SI]表示DATA1中各个字节的偏移地址,用[DI]表示DATA2中各个字节的偏移地址 其程序流程图如下所示 寄存器间接寻址方式 NAME PROG1 DATA SEGMENT DATA1 DB ‘ABCDEFGHIJKLMNW’ DB ‘OPQRSTUVXYZ0123’ DATA2 DB 30 DUP(?) DATA ENDS CODE SEGMENT ASSUME DS:DATA, CS: CODE START : MOV AX, DATA MOV DS, AX MOV SI, OFFSET DATA1 MOV DI, OFFSET DATA2 MOV CX, 30 AGAIN: MOV AL, [SI] MOV, [DI], AL INC SI INC DI

文档评论(0)

158****9376 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档