- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
内存操作数及寻址方法实验报告
实验二内存操作数及寻址方法 实验目的: 通过实验掌握下列知识: 1、DEBUG命令:G,N,W,L及Q。 2、8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。3、8088指令:INC,DEC,LOOP,INT3,INT20H,寄存器SI,DI。 4、8088汇编语言伪操作:BYTEPTR,WORDPTR。 5、求累加和程序和多字节加减法程序。 实验内容和步骤: 一、内存操作数及各种寻址方式使用: 内容: MOVAX,1234 MOV[1000],AX MOVBX,1002 MOVBYTEPTR[BX],20 MOVDL,39 INCBX MOV[BX],DL DECDL MOVSI,3 MOV[BX+SI],DL MOV[BX+SI+1],DL MOVWORDPTR[BX+SI+2],2846 步骤: 1)用A命令键入上述程序,并用T命令逐条运行。 2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。 注意D命令显示结果中右边的ASCII字符及双字节数存放法。 思考:有关指令中BYTEPTR及WORDPTR伪操作不加行不行?试一试。 答:不行。 二、求累加和程序: 程序: MOVBX,1000 MOVCX,10 SUBAX,AX LOP:ADDAL,[BX] ADCAH,0 INCBX J:LOOPLOP INT3 步骤: 1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。-A100 2)用命令NAA将此程序命名为文件AA(文件名可任取)。 3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开 始地址) 4)用命令W100将此程序存到AA命名的磁盘文件中。 5)用命令Q退出DEBUG。 6)用命令DEBUGAA再次调入DEBUG和文件AA,可用U命令检查调入程序。 若调入DEBUG时忘了加AA文件名,可用N命令和L命令将文件调入。 -U 1477:0100BB0010MOVBX,1000 1477:0103B91000MOVCX,0010 1477:C0SUBAX,AX 1477:ADDAL,[BX] 1477:010A80D400ADCAH,00 1477:010D43INCBX 1477:010EE2F8LOOP0108 1477:0110CCINT3 1477:DB68 1477:DB69 1477:JNB0135 1477:DB69 1477:JNB0138 1477:DB61 1477:AND[BP+DI+61],D 1477:011C3400XORAL,00 1477:011E66DB66 1477:011F1421ADCAL,21 --E1000 1477:. 7)用E命令在内存地址1000H处键入16个数字。 -E1000 1477:1000 1477:1008 1477:. 8)用命令G=100J(J用实际地址代替),使程序运行并停在断点J上,检查 AX,BX的值是否符合你的预计值。 -G= AX=0000BX=1000CX=0010DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1477ES=1477SS=1477CS=1477IP=0108NVUPEIPLZRNAPENC 1477:ADDAL,[BX]DS:1000=36 9)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样, 若不一样,检查程序是否有错。 --T AX=0036BX=1000CX=0010DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1477ES=1477SS=1477CS=1477IP=010ANVUPEIPLNZNAPENC1477:010A80D400ADCAH,00 10)重复GJ与T,再检查AX是否正确。 --G108 AX=0036BX=1001CX=000FDX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1477ES=1477SS=1477CS=1477IP=0108NVUPEIPLNZNAPONC 1477:ADDAL,[BX]DS:1001=12-T AX=0048BX=1001CX=00
原创力文档


文档评论(0)