微型计算机原理及接口技术实验报告

您所在的位置:网站首页 emu8086安装教程 微型计算机原理及接口技术实验报告

微型计算机原理及接口技术实验报告

2023-03-24 22:50| 来源: 网络整理| 查看: 265

《微型计算机原理及接口技术实验报告》由会员分享,可在线阅读,更多相关《微型计算机原理及接口技术实验报告(18页珍藏版)》请在装配图网上搜索。

1、哈尔滨理工大学微型计算机原理及接口技术实验报告学 院 : 荣成学院专 业 : 电气工程及其自动化 班 级 : 2010级自动化 学 号 : 1030120211 姓 名 : 严苛 指导老师 : 陈琳 完成时间 : 2012.5.06 实验一 显示“HELLO WORLD!”1. 实验目的从最简单的汇编语言入门起,逐步掌握汇编语言的指令,汇编语言的编程技巧,熟悉汇编语言的编程环境,慢慢入门提升技能。2. 试验环境及设备实验采用的是emu8086仿真软件,全软件操作,无硬件操作,操作方法简单,实验过程全用汇编指令编程。3. 实验内容用汇编语言的指令编写程序,然后通过屏幕显示出“HELLO WORD

2、!”的字样出来,然后截图,写出实验报告。试验程序代码如下:OEG 100HMOV AX, 0B800hMOV DS, AXMOV 52h, HMOV 54h, E MOV 56h, LMOV 58h, LMOV 5Ah, O /到这一步就把“HELLO”存入相应的地址中PUSH CS/进栈操作POP DS /出栈操作MOV AX, 0B800hMOV ES, AXMOV ES:5Eh, W MOV ES:60h, OMOV ES:62h, RMOV ES:64h, LMOV ES:66h, DMOV ES:68h, !HLT4.实验结果截图如下: 5.实验结论Emu8086功能比较大,就目前我

3、自己水平要掌握汇编语言语言的编程技巧还是有一定难度,只得才考人家程序,自己再实践实践。实验二 数的求和1 实验目的用汇编语言编写程序实现两个数相加的功能,然后将结果用程序显示出来,最后写出实验报告。2.试验环境及设备实验采用的是emu8086仿真软件,全软件操作,无硬件操作,操作方法简单,实验过程全用汇编指令编程。3实验内容用汇编语言的指令编写程序,然后通过屏幕显示出计算结果,然后截图,写出实验报告。试验程序代码如下:ORG 100HMOV AH, 07MOV AL, 08ADD AL, AHXOR AH, AHAAAMOV DX, AXMOV AH, 0EhOR DH, 30hMOV AL,

4、 DHINT 10hOR DL, 30hMOV AL, DLINT 10hRETEND4. 实验结果截图如下:5.实验结论Emu8086功能比较大,就目前我自己水平要掌握汇编语言语言的编程技巧还是有一定难度,不过我相信多次实验就会让自己的水平有长进。 实验三计算数的阶乘1. 实验目的用汇编语言编写程序实现一个数的阶乘的计算功能,然后将结果用程序显示出来,最后写出实验报告。2.试验环境及设备实验采用的是emu8086仿真软件,全软件操作,无硬件操作,操作方法简单,实验过程全用汇编指令编程。3实验内容用汇编语言的指令编写程序,然后通过屏幕显示出计算结果,然后截图,写出实验报告。试验程序代码如下:i

5、nclude emu8086.incORG 100hstart:CALL PTHISDB 13, 10, Enter the number: , 0CALL scan_num; factorial of 0 = 1:MOV AX, 1CMP CX, 0JE print_result; move the number to BX:; CX will be a counter:MOV BX, CXMOV AX, 1MOV BX, 1calc:MUL BXCMP DX, 0JNE overflowINC BXLOOP calcprint_result:; print result in AX:CAL

6、L PTHISDB 13, 10, Factorial: , 0CALL PRINT_NUM_UNSJMP exitoverflow:CALL PTHISDB 13, 10, The result is too big!, 13, 10, Use values from 0 to 8., 0JMP startexit:RETDEFINE_SCAN_NUMDEFINE_PRINT_NUMDEFINE_PRINT_NUM_UNSDEFINE_PTHISEND4.实验截图如下,输入数字为5,输出结果为120:5. 实验结论实验的时候觉得实在是太难了,后来慢慢看懂了程序,但是现在我还是不能单独写出来,

7、因为这个汇编语言实在是不像C语言那么容易,这个毕竟是以前的的语言,相比C语言来说没有C语言活跃,况且移植性也不好,所以感觉有点难度。实验四 DEBUG实验1. 实验目的用汇编语言编写程序练习使用DEBUG功能,然后将结果用程序显示出来,最后写出实验报告。2. 实验环境及设备微机电脑一台,DEBUG操作平台,全是软件操作,无硬件操作,操作方法简单,容易上手。3. 操作界面以及实验内容如下:实验内容:用R指令可以看到内存中各个寄存器的状态,以及内容,同时R可以修改内存中寄存器的内容,例如修改AX内容之前里面的内容是1212,在界面中输入R AX我们修改成0013,然后再输入R查看则会看到AX的值已

8、经被改变了,如下所示:用D指令可以查看内存中的内容,例如输入D则会看到内存中的内容:可以看到内存中的内容还是比较多的。用A指令可以输入一段汇编语言在内存中执行,如图所示:然后用D指令:d 0b19:0100可以查看执行的结果:这个里面就有刚才执行的程序内容。用U指令可以把上述内存中的内容翻译成汇编命令:输入U 0b19:0100结果如下:然后用R指令找到0b19:0100的地址,输入r CS 0b19 r IP 0100 找到之后然后用R指令可以查看内存中各个寄存器的内容:4. 实验结果及结论此次试验没有采用EMU8086操作方式,而是在DEBUG的操作界面下进行的,这样我们可以很好的看到内存

9、中各个寄存器的内容,同时也让加深了汇编语言的熟悉程度,其中的单步运行更能够看到汇编语言的运行过程,从另外的角度理解了程序的运行方式。实验五 比较数字的大小1.实验目的用汇编语言编写程序实现数的大小比较的功能,然后将结果用程序显示出来,最后写出实验报告。2试验环境及设备实验采用的是emu8086仿真软件,全软件操作,无硬件操作,操作方法简单,实验过程全用汇编指令编程。3.实验内容,用汇编语言的指令如下:ORG 100hMOV AH, 4MOV AL, 4CMP AH, AL ;比较得到两个数字相等NOPMOV AH, 4MOV AL, 3CMP AH, AL;比较得到4比3大NOPMOV AH,

10、 1MOV AL, -5CMP AH, ALNOPMOV AH, 1MOV AL, 251CMP AH, AL;比较得到1比251小NOPMOV AH, -3MOV AL, -2CMP AH, AL ;比较得到-3比-2小NOPMOV AH, -2MOV AL, -3CMP AH, AL;比较得到-2比-3大NOPMOV AH, 255MOV AL, 1CMP AH, AL ;比较得到255比1大NOPHLT4.实验结果及结论两数比较大小必然涉及到状态寄存器的标志位,比较大小时,若是两数相等,则ZF=1,此时两数相等,因为比较大小的时候是两个数相减的过程,只是最终结果不会保存下来,但是相应的状态标志位会发生改变;若是两数不相等,这种情况下,分两种情况,第一种两个无符号的数字比较,若CF=0,则表示没有借位,则是比较数的前面一个比后面大,若CF=1,表示有借位,后面一个数比前面的数字小,这样就可以比较出两个数字的大小,第二种情况,比较两个有符号的数字,若是状态标志位OF+SF=0,表示运算结果没有溢出,并且最后结果最高位为0,则前面的数比后面的数大,因为比较结果之后为正数,前面就比后面大,若是状态标志位为OF+SF=1,表示结果至少有溢出,或者是至少结果最高位为1,结果为负数,则是前面的数比后面的数字小。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3