- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验2内存操作数及寻址方法
实验内存操作数及寻址方法实验目的
实验类型实验内容步骤
2.3.1 内存操作数及各种寻址方式使用
-A0100
0B40:0100 MOV AX,1234 //立即数寻址方式
0B40:0103 MOV [1000],AX //存储器直接寻址
0B40:0106 MOV BX,1002 //立即数寻址方式
0B40:0109 MOV BYTE PTR [BX],20 // 用BYTE PTR 伪指令来指定操作数的长度
0B40:010C MOV DL,39 //立即数寻址方式
0B40:010E INC BX //寄存器寻址 INC增量指令,操作数自加1
0B40:010F MOV [BX],DL //存储器间接寻址
0B40:0111 DEC DL //寄存器寻址 DEC减量指令,操作数自减1
0B40:0113 MOV [BX],DL //存储器间接寻址
0B40:0115 DEC DL //寄存器寻址 DEC减量指令,操作数自减1
0B40:0117 MOV SI,3 //寄存器相对寻址
0B40:011A MOV [BX+SI],DL //基址加变址寻址
0B40:011C MOV [BX+SI+1],DL //相对基址加变址寻址
0B40:011F MOV WORD PTR [BX+SI+2],2846 //相对基址加变址寻址(段内间接寻址)
0B40:0124
-T=0100
AX=1234 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B40 ES=0B40 SS=0B40 CS=0B40 IP=0103 NV UP EI PL NZ NA PO NC
0B40:0103 A30010 MOV [1000],AX DS:1000=1AEB
-T
AX=1234 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B40 ES=0B40 SS=0B40 CS=0B40 IP=0106 NV UP EI PL NZ NA PO NC
0B40:0106 BB0210 MOV BX,1002
-D 0B40:1000
0B40:1000 34 12 55 51 E8 A6 FF 8B-E9 59 CD 21 73 02 EB 0B 4.UQ.....Y.!s...
2.3.2 求累加和程序
1. 实验程序
MOV BX,1000
MOV CX,10
SUB AX,AX
LOP:ADD AL,[BX]
ADC AH,0
INC BX
J: LOOP LOP
INT3
2. 实验步骤
1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。
2)用命令N AA将此程序命名为文件AA(文件名可任取)。
3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址)。
4)用命令W100将此程序存到AA命名的磁盘文件中。
5)用命令Q退出DEBUG。
6)用命令DEBUG AA再次调入DEBUG和文件AA,可用U命令检查调入程序。若调入DEBUG时忘了加AA文件名,可用N命令和L命令将文件调入。
7)用E命令在内存地址1000H处键入16个数字
8)用命令G=100J(J用实际地址代替),使程序运行并停在断点J上,检查AX,BX的值是否符合你的预计值。
9)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样,若不一样,检查程序是否有错。
10)重复GJ与T,再检查AX是否正确。
11)用G命令使程序运行到结束,检查AX值是否正确。
2.3.3 多字节加法程序
MOV DI,1000
MOV CX,8
MOV SI,2000
CLC
LOP: MOV AL,[SI]
ADC [DI],AL
INC SI
INC DI
LOOP LOP
INT 20
2. 实验步骤
1)用命令键入此程序。
2)用E命令在1000H开始处键入一个8字节被加数,在2000H开始处键入一个8字节加数,均为低字节在前面。
3)用G命令运行此程序,并用D命令检查其结果(存放在哪里?),是否正确?
4
文档评论(0)