宏汇编第2章.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
宏汇编第2章

第2章 寻址方式 寻址方式:寻找操作数存放地址的方式。 2.1 寄存器寻址 2.2 寄存器间接寻址 2.3 变址寻址 2.4 基址加变址寻址 2.5 立即寻址 2.6 直接寻址 2.7 跨段的有关问题 2.8 寻址方式踪合举例 2.1 寄存器寻址 汇编格式:R 功 能:寄存器R的内容为操作数。 16位的R:AX,BX,CX,DX,SI,DI,BP 8位的R:AH,AL,BH,BL,CH,CL,DH,DL 采用寄存器寻址方式可以提高工作效率。 2.1 寄存器寻址 例1 INC AX ;INC为加1指令 设AX=34H 2.1 寄存器寻址 例2 ADD AX,BX ;ADD为加法指令 此指令是将AX的内容与BX的内容相加,和再放到AX中。 设AX=1234H,BX=5620H 2.1 寄存器寻址 例3 DEC DH ;DEC为减1指令 本指令是将DH的内容减1后再送回DH。 设DH=78H 2.2 寄存器间接寻址 汇编格式:[R] 功 能:寄存器R的内容为(存储器中)操作数的偏移地址EA。 R:SI、DI、BX、BP 可寻址范围为64K。 使用BX、DI、SI间接寻址时,操作数在当前数据段(DS为段基址寄存器)中; 使用BP间接寻址时,操作数在堆栈段(SS为段基址寄存器)中。 物理地址PA=(段基址)左移4位+R 2.2 寄存器间接寻址 例1????MOV AX,[SI] ;MOV为传送指令 本指令是将数据段中EA=SI的字单元内容传送到AX。 设AX=5,SI=20H,DS=1000H,(10020H)=0FF12H 指令中的源操作数的 EA=SI=20H PA=DS*16+EA=10000H+20H=10020H 目的操作数为寄存器寻址 2.2 寄存器间接寻址 例2 MOV AX,[BP] 本指令是将堆栈段中EA=BP的字单元内容送到AX中。 设AX=0,SS=2000H,BP=30H,(20030H)=1234H 指令中的源操作数的 EA=BP=30H PA=SS*16+EA=20000H+30H=20030H 目的操作数为寄存器寻址 2.3 变址寻址 汇编格式:X[R] 功 能:寄存器R与X相加之和为(存储器中)操作数的偏移地址EA。 X:8位或16位的二进制补码表示的有符号数。 R:SI、DI、BX、BP 使用寄存器BX、DI、SI变址寻址时,操作数在当前数据段(DS为段基址寄存器)中; 使用寄存器BP变址寻址时,操作数在堆栈段(SS为段基址寄存器)中。 物理地址PA=(段基址)左移4位+R+X 可寻址范围为64K。 2.3 变址寻址 例1??? MOV AX,-6[BX] ? 本指令是将数据段中EA=BX-6的字单元内容送到AX中。 设AX=0,BX=16H,DS=2000H,(20010H)=3789H 指令中的源操作数的EA=BX-6=16H-6H=10H PA=DS*16+EA=20000H+10H=20010H 目的操作数为寄存器AX 2.3 变址寻址 例2???? ADD 5[BP],BX 本指令是将堆栈段中EA=BP+5的字单元内容与BX相加,和再送回到堆栈段中EA=BP+5的字单元中。 设BX=40H,BP=30H,SS=2000H, (20035H)=0050H 指令中目的操作数的EA=BP+5=30H+5=35H PA=SS*16+EA=20000H+35H=20035H 2.3 变址寻址 例3 设DS=2000H,SS=4000H,SI=10H,DI=20H,BX=30H,BP=30H。指出如下各条指令的操作数地址及执行情况。 (1) MOV AX,6[SI] 源操作数为变址寻址,EA=SI+6=10H+6H=16H PA=DS*16+EA=20000H+16H=20016H 目的操作数为寄存器寻址,寄存器名为AX 执行结果是把PA=20016H的字单元内容传送到AX中。 2.3 变址寻址 例3 设DS=2000H,SS=4000H,SI=10H,DI=20H,BX=30H,BP=30H。指出如下各条指令的操作数地址及执行情况。 (2) MOV SI,6[DI] 源操作数为变址寻址,EA=DI+6H=20H+6H=26H PA=DS*16+EA=20000H+26H=20026H 目的操作数为寄存器寻址,寄存器名为SI。 执行结果是把PA=20026H的字单元内容传送到SI中。 2.3 变址寻址 例3 设

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档