计算机组成原理与汇编语言程序设计实验指导书-.docVIP

计算机组成原理与汇编语言程序设计实验指导书-.doc

  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文档。上传文档
查看更多
实验一比较字符串 一、实验目的 1.熟悉在PC机上建立、汇编、链接、调试和运行8086汇编程序的过程。 2.掌握分支程序的设计方法。 二、实验内容 比较两个变量STRING1和STRING2中所含字符串是否相同。 若相同,则显示“MATCH”;否则,显示“NO MATCH”。 三、程序框图 四、程序清单 DATAREA SEGMENT STRING1 DB Move the cursor backward. STRING2 DB Move the cursor backward. MESS1 DB Match.,13,10,$ MESS2 DB No Match.,13,10,$ DATAREA ENDS PROGNAM SEGMENT MAIN PROC FAR ;Subroutine ASSUME CS:PROGNAM, DS: DATAREA, ES: DATAREA START: PUSH DS SUB AX, AX PUSH AX DATAREA MOV AX, AX MOV DS, AX MOV ES, LEA SI, STRING1 LEA DI, STRING2 CLD STRING2-STRING1 MOV CX, REPZ CMPSB …(根据流程图填入合适的汇编语言指令 LEA DX, MESS2 …(根据流程图填入合适的汇编语言指令 MATCH: LEA DX, MESS1 DISP:MOV AH, 09H INT 21H RET MAIN ENDP PROGNAM ENDS END START 五、实验方法 1.用编辑程序建立源文件 在DOS窗口下键入 EDIT ×××.ASM?(×××为文件名 在编辑状态下输入源程序,存盘后退出编辑状态。 2.用汇编程序汇编源文件,产生目标文件 MASM ×××? 如汇编指示出错则需重新调用编辑程序修改错误,直至汇编通过为止。 如调试需要LST文件,则应在汇编过程中建立该文件。 3.用链接程序产生可执行文件 LINK ×××.OBJ? 4.执行程序 ×××? 5.使用调试工具调试程序 DEBUG ×××.EXE? DEBUG将可执行程序装入内存,可使用命令调试和运行程序。 直接用G命令运行程序。 -G↙ Match. Program terminated normally 为调试程序的另一部分,可在DEBUG中修改字符串的内容。先用U命令反汇编,以便了解指令地址。显示结果如下: -U 0000↙ PUSH DS 19F3:0000 1E 19F3:0001 2BC0 SUB AX 19F3:0003 50 PUSH AX 19F3:0004 B8EE19 MOV AX,19EE 19F3:0007 8ED8 MOV DS,AX 19F3:0009 8EC0 MOV ES,AX 19F3:000B 8D360000 LEA SI,[0000] 19F3:000F 8D3E1900 LEA DI,[0019] CLD 19F3:0013 FC 19F3:0014 B91900 MOV CX,0019 19F3:0017 F3 REPZ CMPSB 19F3:0018 A6 19F3:0019 7406 JZ 0021 19F3:001B 8D163B00 LEA DX,[003B] 0025 19F3:001F EB04 JMP -U↙ 19F3:0021 8D163200 LEA DX,[0032] 19F3:0025 B409 MOV AH,09 21 19F3:0027 CD21 INT RETF 19F3:0029 CB 19F3:002A FF7501 PUSH [DI+01] 19F3:002D 40 INC AX DX 19F3:002E 5A POP 19F3:002F 22C2 AND AL,DL 19F3:0031 50 PUSH AX 19F3:0032 807EDC20 CMP BYTE PTR[BP-24],20 19F3:0036 B0FF MOV AL,FF 19F3:0038 7201 JB 003B 19F3:003A 40 INC AX DX 19F3:003B 5A POP 19F3:003F 80F920 CMP CL,20 将断点设置在程序的主要部分运行前。 -G 0B↙ AX=19EE BX=0000 CX=007A DX=0000 SP=FFFC BP=0000 SI=0000 DI=0000 DS=19EE ES=19EE SS=19EE CS=19F3 IP=000B NV UP DI PL ZR NA PE NC 19F3:000B 8D36000 LEA SI,[0000] 根据当前DS寄存器的内容查看数据段的情

文档评论(0)

3388813 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档