- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言实验报告
实验一、汇编运行环境及方法、简单程序设计一、程序说明
本程序用来比较两个字符串stringl和string2所含的字符是否相同。若相同
,否则显示4No match。则显示4Match
在程序的数据段先定义两个字符串stringl和string2,再定义两个字符串 messl
和4 Nomat ch*。再代码段比较字符串stringl和string2,和mess2,分别 代表Match
通过比较判断是否相同。若相同则显示Match,否则显示
4No match。
二、调试说明
再EDIT中建立ASM文件,再用汇编程序对源程序汇编产生目标文件Obj,再 用连接程序产生执行文件EXEo再用Debug进行调试。
其中常用到的指令有:
用-g命令来用运行程序,用-U命令来显示程序,用-d命令来查看数据段的情 况,-e或-f命令来修改需要改正的部分,用-1指令来逐步执行程序,用-:r指令来 查看寄存用
器和修改寄存器的值,7命令用来退出debug程序。在这些命令的后面加上地 址,可以将命令执行到相应的地方。
如用-g指令运行程序后,再用-u指令显示程序的执行借给如下:
卜 Ci\fIWDTSX?yMt??32\c?d. w?t?
d^eboc MwspEe? ooih
__ EEQI
Re
Lroi/Tisn r-eminated
nornallv
ru
Il4dj 3W00
D0FC13
HOU
RXAJFC
It 1HI ainu i
8EM1
rtou
圍/X
If :“阳S
8EW
nou
ESuflX
仙 iliUM?
8D3faMm
utn
p 4VU ;nwH
HMF19IW
I.ER
①阳f
rc
GLB
ft qw ; nni H
isvim
nou
GX.IHtl?
卜佃-961J
F3
HITZ
|! 4WI : iWt 4
unriiB
11481 :驰吊
?W(
皿
I14H1 : HW17
Min
(axr (HR3V1
If 4Wl :WHIP
JW
卜仙:aeiD
8D1G32M
L£R
100321
若将string2改为Move the cursor backwards.,程序的其他部分不做改
动,执行结果:
h ii:i (H7 OurnIjy LmKri* Urimi
Cay?fr lyht C N icrcaaif t Corp 1 9B3—i AIL ■ lyhl = reaervod .
Run F i lr ISAHPLF.EXE1?
Li-.t FiIff (HIlL.nnPi!
!?i Fiv*af lc* t . fit R 1 i
LIHM : ing L4L121 : no otnQh aninenr
:;八沁=川?1存
Mu rtat chf
D : .ft
若将mov ex, 25语句改成mov ex, 24,结果为:
hiemauft R Overlay Liitkeif* Ueinfion 3.6U
C Hirrooft C?n L983 L^flV. All rights recerved? kwn pi u “imPbE.sxfii:
Lise File (HIlL.tlArU
Li?)ri*F ieo (.LIBI:
LIHK 1 w^rn ing L402! 2 mo at^ck
AxrtznHknp In
llatch ?
I
此时少做了一次循环,得到的结果就不正确了。
实验二、用DEBUG编程:使用堆栈段将
AX和BX的内容进行交换等
一、程序说明
本实验包括两个部分,第一个部分是将AX和BX的内容进行交换,并用堆栈作 为两寄存器交换内容的中间存储单元;第二部分是用DEBUG的命令将存储器偏移地
AH, OBH, OCH, ODH, 0EH。在DEBUG状态址300H, 304H连续单元顺序装入0 下送入给出的程序中。
第一个程序先将AX的内容进栈,然后将BX的内容赋给AX,再将出栈的内容赋 给BX即可。第二个程序是在进入debug后,用f指令输入给出的程序,然用-r指 令安要求修改内存的内容,再用-t指令逐步执行每条指令,看修改的内存内容对 指令执行结果的影响。
二、调试说明
第一部分先用-I?指令修改ax, bx和SP的值,再用P进行汇编,最后用-1单
步执行。执行情况及结果如下:
hx SOBS1:3H00ksoooEjdb=8 jlejboiB:0idt [13DBJ01O2 il3DB:01B3 3D诳BitHpush dx push bx pop ax pop bxS;-137B ES-137B n/Bswim sigx gw
hx SOBS
1:3H00
ksooo
Ejdb=8 jlejb
oiB:0idt [13DB
文档评论(0)