- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二 内存操作数与寻址方法
实验二 内存操作数及寻址方法 ;一 实验目的;Debug常用命令 [见附录3];Debug常用命令 [见附录3];(1) 立即寻址方式* —— 操作数在指令中给出
指令格式: MOV AL, 5
MOV AX, 3064H
MOV AL, ‘A’
* 只能用于 SRC 字段 MOV 40H, AL ?
* SRC 和 DST 的字长一致
MOV AH, 3064H ?;(2) 寄存器寻址方式* — 操作数在指定的寄存器中
MOV AX, BX
MOV AL, BH
MOV AX, 3064H
* 字节寄存器只有 AH AL BH BL CH CL DH DL
* SRC 和 DST 的字长一致 MOV AH, BX ?
* CS 不能用 MOV 指令改变 MOV CS, AX ?;(3) 直接寻址方式* — 有效地址EA由指令直接给出
例:MOV AX, [ 2000H ]
EA=2000H, 假设(DS)=3000H, 那么PA=32000H;(4)寄存器间接寻址* — EA 在基址寄存器(BX/BP)
或变址寄存器(SI/DI) 中
MOV AX, [BX] PA = 16d ? (DS) + (BX)
MOV AX, ES:[BX] PA = 16d ? (ES) + (BX)
MOV AX, [BP] PA = 16d ? (SS) + (BP)
* 不允许使用AX、CX、DX 存放 EA
MOV AX, [CX] ?
* SRC 和 DST 的字长一致
MOV DL, [ BX ] ; [BX]指示一个字节单元
MOV DX, [ BX ] ; [BX]指示一个字单元
* 适于数组、字符串、表格的处理; 有效地址 =;(6) 基址变址寻址方式*
指令格式: MOV AX, [BX] [DI]
MOV AX, [BX+DI]
MOV AX, ES:[BX] [SI]
* 适于数组、字符串、表格的处理
* 必须是一个基址寄存器和一个变址寄存器的组合
MOV AX, [BX] [BP] ?
MOV AX, [SI] [DI] ?;( 7 ) 相对基址变址寻址方式
MOV AX, MASK [BX] [SI]
或 MOV AX, MASK [BX+SI]
或 MOV AX, [MASK+BX+SI];访问存储器的方式;1、内存操作数及各种寻址方式使用;1)用A命令将下列程序键入到100H开始的内存中,注意:标号LOP和J是不需要输入的,而需要在键入时 记下标号LOP和J的实际地址,在键入LOOP指令时把LOP用实际地址值代替。
MOV BX,1000
MOV CX,10
SUB AX,AX
LOP: ADD AL,[BX]
ADC AH,0
INC BX
LOOP LOP
J: INT 20;2)用命令N AA将此程序命名为文件AA(文件名可任取)。
3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址)。
4)用命令W 100将此程序存到AA命名的磁盘文件中。
5)用命令Q退出DEBUG。
6)用命令DEBUG AA再次调入DEBUG和文件AA,可用U命令检查调入程序。若调入DEBUG时忘了加AA文件名,可用N命令和L命令将文件调入。
7)用E命令在内存地址100
文档评论(0)