- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
微机原理实验报告
学 院 : 专业班级: 姓 名
学 号
.
.
实验一 汇编语言编程基础
1.3 汇编语言程序上机操作和调试训练
一.功能说明
运用 8086 汇编语言,编辑多字节非压缩型 BCD 数除法的简单程序,文件名取为*.ASM。
运用 MASM﹒EXE 文件进行汇编,修改程序中的各种语法错误,直至正确,形成*.OBJ 文件。
运用 LINK.EXE 文件进行连接,形成*.EXE 文件。
仔细阅读和体会 DEBUG 调试方法,掌握各种命令的使用方法。
运用 DEBUG。EXE 文件进行调试,使用单步执行命令—T 两次,观察寄存器中内容的变化,使用察看存储器数据段命令—D,观察存储器数据段内数值。
再使用连续执行命令—G,执行程序,检查结果是否正确,若不正确可使用
DEBUG 的设置断点,单步执行等功能发现错误所在并加以改正。
二.程序流程图
设置被除数、商的地址指针
设置被除数、商的地址指针
设置单位除法次数计数器
取被除数一位作十进制调整
作字节除法、存商
N
被除数各位已除完?
Y
显示运算结果
结束
结束
三.程序代码
修改后的程序代码如下:
ADB
A
DB
9,6,8,7,5
B
DB
5
C
DB
5 DUP (0)
N
EQU
5
DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
.
.
START: MOV AX,DATA
MOV DS,AX MOV ES,AX CLD
LEA SI,A
LEA DI,C MOV CX,N MOV AH,0
LP1: LODSB
AAD DIV B STOSB
LOOP LP1 MOV CX,N LEA DI,C
LP2: MOV DL,[DI]
ADD DL,30H MOV AH,2 INT 21H INC DI LOOP LP2 MOV AH,4CH INT 21H
CODE ENDS END START
四.实验感想和收获
通过这次试验,我对微机原理上级试验环境有了初步的认识,可以较为熟练地对汇编语言进行编译,汇编及连接,同时也学会了用 DEBUG 调试程序,收获很大。
在这次试验中我也遇到了一些困难。在刚开始我发现自己无法打开MASM.EXE,计算机提示是由于版本不兼容。我这才想起来我的操作系统是 64 位的,和该软件版本不兼容。不过我并没有放弃,经过我的摸索之后,我发现用DOSBOX 这个程序可以解决我的电脑运行不了该程序的问题。在解决了第一个难题后,我开始着手改正试验 1.3 中的语法错误和逻辑错误,但是无论我怎么修改却始终都无法通过编译,并且基本上每句话都有编译错误。根据我多年编程的经验来看,这应该是中文输入法在搞鬼,之后我耐心地把程序重新输了一遍,果然通过了编译,并且之后的连接也进行的很顺利。在用 DEBUG 调试时发现得出的结果也很正确。
尽管这次的实验内容非常简单,仅仅是教会我们一些基本的操作,但我却明显感觉到了汇编语言和 C 语言等高级语言所不同的地方。越是底层,基础的东西就越不人性化,用 C 语言一行代码就能实验的功能在汇编语言中可能要花上数十行。看来汇编语言的学习不是几周就能速成的,必须要有长年累月的积淀才能掌握。
.
.
实验二 设计汇编语言程序
一.功能说明
练习 1. 实验题目:编程计算下列表达式:A=90,B=-70,C=5,Y 均为有符号数,计算 Y=2
×(A+B)+(A×C)÷5
要编写一些稍微复杂的程序,我们会遇到一段程序被反复执行,这样,我们会用到 LOOP
指令。使用该指令时,需在CX 中装入循环次数。练习 2.码转换程序设计
编制程序,把十进制数 15786 转化成二进制数。
提示:15786=1×10×10×10×10+5×103+7×102+8×10+6,循环CX=5
练习 3.编制程序,从键盘输入最多 5 个数,求他们的和,存入SUM。
练习 4.用“冒泡“法对一组数 300,250,280,240,260,按从小到大的顺序排列。
提示:用冒泡的方法对一组数据元素排序,它的基本方法是:将相邻的两个元素通过比较进行排序,通过多次,多遍的邻元素排序,实现整个一组数的排序。
对于 5(N)个元素,整个排序通过 4 遍(=N-1)邻元素排序完成。每一遍的排序由若干次邻元素的排序组成。
4 遍排序中,邻元素的排序依次为 4,3,2,1 遍。完成第一遍排序后,最大数沉底,已经到达它应占据的位置,不需要参加下一遍的排序。
外循环的次数为CX=4 次(N-1),内循环的次数为 4,3,2,1(DEC CX)
排序遍数
本遍排序前
第一次排序
后
第二次排序
后
第三次排序
后
第四次排序
后
1
300,250,280,
250,300,280,
250,28
您可能关注的文档
- 水洪土地监理月报.docx
- 水浒传阅读测试题.docx
- 水滑石的合成及应用研究报告.docx
- 水景喷泉的喷头安装检验批质量验收记录.docx
- 水冷冷水空调施工组织设计.docx
- 水利工程河道清淤项目划分.docx
- 水利工程模板专项方法.docx
- 水利工程旁站监理方案.docx
- 水利工程签证单.docx
- 水利工程施工三检制和质量控制措施方案.docx
- 学校基层党支部查摆问题清单整改措施精选(四篇).docx
- 统编版三年级上册语文第八单元全单元教学课件(新教材).pptx
- 统编版三年级上册语文第二单元全单元教学课件(新教材).pptx
- 统编版三年级上册语文第六单元全单元教学课件(新教材).pptx
- 统编版三年级上册语文第七单元全单元教学课件(新教材).pptx
- 统编版三年级上册语文第三单元全单元教学课件(新教材).pptx
- 统编版三年级上册语文第四单元全单元教学课件(新教材).pptx
- 津07SJ903 预制件组合结构围墙.docx
- 苏JT16-2004(二) 建筑外保温构造图集(二) 挤塑聚苯乙烯泡沫塑料板外墙外保温系统.docx
- T_CCEAS 003-2022 市政工程总承包工程量计算规范.docx
文档评论(0)