- 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.熟悉在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寄存器的内容查看数据段的情
您可能关注的文档
最近下载
- 23S519小型排水构筑物.pptx VIP
- 湛江市霞山区滨海四中六年级升七年级语-数-英分班考试题.docx VIP
- 2024年深芯盟国产无线通信芯片厂商调研分析报告-深芯盟.pdf
- 第一单元(知识清单)六年级语文上册单元速记巧练(统编版).pdf VIP
- 日产600t双膛窑技术方案(改1).doc
- 众为兴cnc4340系统版说明书附加页.pdf VIP
- SOA架构智能座舱:设计与实现.docx VIP
- 伦茨82EV矢量变频器(内置闭环型)操作手册.pdf VIP
- DB61T-体育赛事信息化建设技术规范 信息系统建设.pdf VIP
- Q-CR 517.2-2023铁路工程喷膜防水材料 第2部分:喷涂橡胶沥青(OCR).pdf
原创力文档


文档评论(0)