微型计算机原理及接口技术实验报告.docx
- 文档编号:7249980
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:15
- 大小:193.03KB
微型计算机原理及接口技术实验报告.docx
《微型计算机原理及接口技术实验报告.docx》由会员分享,可在线阅读,更多相关《微型计算机原理及接口技术实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
微型计算机原理及接口技术实验报告
哈尔滨理工大学
微型计算机原理及接口技术实验报告
学院:
荣成学院
专业:
电气工程及其自动化
班级:
2010级自动化
学号:
1030120211
姓名:
严苛
指导老师:
陈琳
完成时间:
2012.5.06
实验一显示“HELLOWORLD!
”
1.实验目的
从最简单的汇编语言入门起,逐步掌握汇编语言的指令,汇编语言的编程技巧,熟悉汇编语言的编程环境,慢慢入门提升技能。
2.试验环境及设备
实验采用的是emu8086仿真软件,全软件操作,无硬件操作,操作方法简单,实验过程全用汇编指令编程。
3.实验内容
用汇编语言的指令编写程序,然后通过屏幕显示出“HELLOWORD!
”的字样出来,然后截图,写出实验报告。
试验程序代码如下:
OEG100H
MOVAX,0B800h
MOVDS,AX
MOV[52h],'H'
MOV[54h],'E'
MOV[56h],'L'
MOV[58h],'L'
MOV[5Ah],'O'//到这一步就把“HELLO”存入相应的地址中
PUSHCS//进栈操作
POPDS//出栈操作
MOVAX,0B800h
MOVES,AX
MOVES:
[5Eh],'W'
MOVES:
[60h],'O'
MOVES:
[62h],'R'
MOVES:
[64h],'L'
MOVES:
[66h],'D'
MOVES:
[68h],'!
'
HLT
4.实验结果截图如下:
5.实验结论
Emu8086功能比较大,就目前我自己水平要掌握汇编语言语言的编程技巧还是有一定难度,只得才考人家程序,自己再实践实践。
实验二数的求和
1.实验目的
用汇编语言编写程序实现两个数相加的功能,然后将结果用程序显示出来,最后写出实验报告。
2.试验环境及设备
实验采用的是emu8086仿真软件,全软件操作,无硬件操作,操作方法简单,实验过程全用汇编指令编程。
3实验内容
用汇编语言的指令编写程序,然后通过屏幕显示出计算结果,然后截图,写出实验报告。
试验程序代码如下:
ORG100H
MOVAH,07
MOVAL,08
ADDAL,AH
XORAH,AH
AAA
MOVDX,AX
MOVAH,0Eh
ORDH,30h
MOVAL,DH
INT10h
ORDL,30h
MOVAL,DL
INT10h
RET
END
4.实验结果截图如下:
5.实验结论
Emu8086功能比较大,就目前我自己水平要掌握汇编语言语言的编程技巧还是有一定难度,不过我相信多次实验就会让自己的水平有长进。
实验三计算数的阶乘
1.实验目的
用汇编语言编写程序实现一个数的阶乘的计算功能,然后将结果用程序显示出来,最后写出实验报告。
2.试验环境及设备
实验采用的是emu8086仿真软件,全软件操作,无硬件操作,操作方法简单,实验过程全用汇编指令编程。
3实验内容
用汇编语言的指令编写程序,然后通过屏幕显示出计算结果,然后截图,写出实验报告。
试验程序代码如下:
include'emu8086.inc'
ORG100h
start:
CALLPTHIS
DB13,10,'Enterthenumber:
',0
CALLscan_num
;factorialof0=1:
MOVAX,1
CMPCX,0
JEprint_result
;movethenumbertoBX:
;CXwillbeacounter:
MOVBX,CX
MOVAX,1
MOVBX,1
calc:
MULBX
CMPDX,0
JNEoverflow
INCBX
LOOPcalc
print_result:
;printresultinAX:
CALLPTHIS
DB13,10,'Factorial:
',0
CALLPRINT_NUM_UNS
JMPexit
overflow:
CALLPTHIS
DB13,10,'Theresultistoobig!
',13,10,'Usevaluesfrom0to8.',0
JMPstart
exit:
RET
DEFINE_SCAN_NUM
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
DEFINE_PTHIS
END
4.实验截图如下,输入数字为5,输出结果为120:
5.实验结论
实验的时候觉得实在是太难了,后来慢慢看懂了程序,但是现在我还是不能单独写出来,因为这个汇编语言实在是不像C语言那么容易,这个毕竟是以前的的语言,相比C语言来说没有C语言活跃,况且移植性也不好,所以感觉有点难度。
实验四DEBUG实验
1.实验目的
用汇编语言编写程序练习使用DEBUG功能,然后将结果用程序显示出来,最后写出实验报告。
2.实验环境及设备
微机电脑一台,DEBUG操作平台,全是软件操作,无硬件操作,操作方法简单,容易上手。
3.操作界面以及实验内容如下:
实验内容:
用R指令可以看到内存中各个寄存器的状态,以及内容,同时R可以修改内存中寄存器的内容,例如修改AX内容之前里面的内容是1212,在界面中输入RAX
我们修改成0013,然后再输入R查看则会看到AX的值已经被改变了,如下所示:
用D指令可以查看内存中的内容,例如输入D则会看到内存中的内容:
可以看到内存中的内容还是比较多的。
用A指令可以输入一段汇编语言在内存中执行,如图所示:
然后用D指令:
d0b19:
0100可以查看执行的结果:
这个里面就有刚才执行的程序内容。
用U指令可以把上述内存中的内容翻译成汇编命令:
输入U0b19:
0100结果如下:
然后用R指令找到0b19:
0100的地址,输入rCS0b19rIP0100找到之后然后用R指令可以查看内存中各个寄存器的内容:
4.实验结果及结论
此次试验没有采用EMU8086操作方式,而是在DEBUG的操作界面下进行的,这样我们可以很好的看到内存中各个寄存器的内容,同时也让加深了汇编语言的熟悉程度,其中的单步运行更能够看到汇编语言的运行过程,从另外的角度理解了程序的运行方式。
实验五比较数字的大小
1.实验目的
用汇编语言编写程序实现数的大小比较的功能,然后将结果用程序显示出来,最后写出实验报告。
2.试验环境及设备
实验采用的是emu8086仿真软件,全软件操作,无硬件操作,操作方法简单,实验过程全用汇编指令编程。
3.实验内容,用汇编语言的指令如下:
ORG100h
MOVAH,4
MOVAL,4
CMPAH,AL;比较得到两个数字相等
NOP
MOVAH,4
MOVAL,3
CMPAH,AL;比较得到4比3大
NOP
MOVAH,1
MOVAL,-5
CMPAH,AL
NOP
MOVAH,1
MOVAL,251
CMPAH,AL;比较得到1比251小
NOP
MOVAH,-3
MOVAL,-2
CMPAH,AL;比较得到-3比-2小
NOP
MOVAH,-2
MOVAL,-3
CMPAH,AL;比较得到-2比-3大
NOP
MOVAH,255
MOVAL,1
CMPAH,AL;比较得到255比1大
NOP
HLT
4.实验结果及结论
两数比较大小必然涉及到状态寄存器的标志位,比较大小时,若是两数相等,则ZF=1,此时两数相等,因为比较大小的时候是两个数相减的过程,只是最终结果不会保存下来,但是相应的状态标志位会发生改变;若是两数不相等,这种情况下,分两种情况,第一种两个无符号的数字比较,若CF=0,则表示没有借位,则是比较数的前面一个比后面大,若CF=1,表示有借位,后面一个数比前面的数字小,这样就可以比较出两个数字的大小,第二种情况,比较两个有符号的数字,若是状态标志位OF+SF=0,表示运算结果没有溢出,并且最后结果最高位为0,则前面的数比后面的数大,因为比较结果之后为正数,前面就比后面大,若是状态标志位为OF+SF=1,表示结果至少有溢出,或者是至少结果最高位为1,结果为负数,则是前面的数比后面的数字小。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 原理 接口 技术 实验 报告