- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
.
.
工业大学
计算机与信息学院
实验报告
课 程:汇编语言程序设计
专业班级:****************
学 号:**********
姓 名: *****
目录
实验一···········································3
实验二············································7
实验三···········································12
实验四···········································22实验一 Debug程序的使用
实验目的
1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。
2、掌握8086/8088的寻址方式及多字节数据的处理方法。
实验容
1、利用DEBUG程序中的E〞命令,将两个多字节数003F1AE7H〞和006BE5C4H〞分别送入起始地址为DS:0200H和DS:0204H两个单元中。
2、分别用直接寻址方式和存放器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。
要求:
本次实验的容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。
实验过程和程序
实验容一:
e ds:0200 E7 1A 3F 00
e ds:0204 C4 E5 6B 00
实验容二:
直接寻址方式
MOV A*,[0200]
MOV B*,[0202]
ADD A*,[0204]
ADC B*,[0206]
MOV [0208],A*
MOV [020A],B*
(2)存放器间接寻址方式
MOV SI,0200H
MOV DI,0204H
MOV B*,0208H
MOV A*,[SI]
MOV D*,[SI+2]
ADD A*,[DI]
ADC D*,[DI+2]
MOV [B*],A*
MOV [B*+2],D*
实验结果〔包括必要的截图〕
实验容一:
输入数据:
显示数据:
实验容二:
〔1〕直接寻址方式
程序段编辑:
反汇编:
运行:结果在DS:0208 单元中 为00AB00ABH
〔2〕存放器间接寻址方式
程序段编辑:
反汇编:
运行:结果高字存放在d*中,低字存放在a*中〔结果为00AB00ABh〕
实验体会
通过本实验,实践debug程序中的命令,并在debug下调试运行汇编语言源程序。在实践过程中,解决如何把数据录入存储单元、debug命令如何使用等问题后,知道存数据例如1234进存储单元时 要34 12存,还有掌握了存放器的寻址方式。实验二 汇编语言程序设计(顺序、循环)
实验目的
1、掌握顺序和循环程序构造和设计方法;
2、熟悉在PC机上建立、汇编、连接、调试和运行8086/8088汇编语言程序的过程。
实验容
1、*、Y、Z、V均为字变量,在*、Y、Z、V字单元中存放是16位带符号数。试编写汇编语言程序完成以下功能:
①计算表达式值〔V–〔**Y+Z-720〕〕/*;
②将上述表达式运算结果整数放在SUM1单元,余数放在SUM2单元。
2、求一个班50名学生成绩的平均值〔附加题:最大值和最小值,并将结果显示出来〕
3、从键盘读入一个字符串,以Enter完毕,字符串不超过50个字符,并打印该字符串(附加题:查找中间是否有‘asm’子串。如果有,输出‘Yes’;否则,输出‘No’)。
实验过程和程序
〔注:附加题没有做〕
实验容一:
*、Y、Z、V均为字变量,在*、Y、Z、V字单元中存放是16位带符号数。试编写汇编语言程序完成以下功能:①计算表达式值〔V–〔**Y+Z-720〕〕/*;②将上述表达式运算结果整数放在SUM1单元,余数放在SUM2单元。
Data segment
* dw
y dw
z dw
v dw
sum1 dw
sum2 dw
Data ends
Code segment
assume cs:code,ds:data
start:
mov a*,data
mov ds,a*
mov a*,*
imul y
mov c*,a*
mov b*,d*
mov a*,
文档评论(0)