资源描述:
《《微机系统与接口技术》实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《微机系统与接口技术》实验报告学院:计算机学院专业:信息安全班级学号:11080507学生姓名:邓修建实验日期:2014/7/3指导老师:李鹤喜五邑大学计算机学院制表实验三一、实验名称:汇编语言程序设计(3)二、实验目的:1、理解二进制转换为BCD的基本原理;2、掌握二进制转换为BCD码的程序设计方法;三、实验内容:1、设计两字节二进制→BCD码转换子程序B_BCD,入口:Binary(二进制数),出口:BUFFER(非压缩BCD码);2、设计实验主程序调用这个B_BCD子程序;3、将转换的非压缩型BCD码转换成ASCII码,存入显示缓冲区并调用
2、INT21的9号功能进行转换结果显示。四、实验设备:PC微型计算机五、实验步骤:1、进入QASM汇编语言开发环境,开始汇编程序设计;2、设计“字符串显示程序”,调试并在屏幕自己的“班级”、“学号”及“名字”的拼音字母;3、设计“十六进制转换为ASCII码子程序”,在主程序中将自己的“班号学号”定义成十六进制数,然后调用这个子程序,并在屏幕上显示结果;4、设计一个“二进制转换为BCD码子程序”,在主程序中将自己的“班级号+学号”先转换为十六进制数,定义成4位十六进制数,然后调用这个子程序转换为BCD码并在屏幕上显示运行结果。六、实验结果编制并调试通
3、过的80X86汇编程序代码如下:;二进制转换成BCD码DATASEGMENTBINARYDW1FBH;此处定义了05班07号同学的二进制数WSTRDB'THisiaaBinary-BCDconvertionprogram',0AH,0DH,0AH,'$'BUFFERDB'00000$'DATAENDSSTACKSSEGMENTDB100DUP(?);此处输入堆栈段代码STACKSENDSCODESEGMENTASSUMECS:CODE,DS:DATA;SS:STACKSSTARTPROCMOVAX,DATAMOVDS,AX;此处输入代码段代码LE
4、ADX,WSTRMOVAH,09INT21HMOVBX,BINARYCALLB_BCDMOVBX,OFFSETBUFFERMOVCX,05LAB:MOVAL,[BX];非压缩BCD码转换ASCIIADDAL,30HMOV[BX],ALINCBXLOOPLABMOVDX,OFFSETBUFFER;显示转换的十进制结果MOVAH,09INT21HMOVAH,07HINT21HMOVAX,4C00HINT21HSTARTENDP;16位二进制数转换为BCD码子程序B_BCDPROCMOVDI,OFFSETBUFFERMOVDL,0;T1:SUBBX,1
5、0000JCN1;INCDLJMPT1N1:ADDBX,10000MOV[DI],DLINCDIMOVDL,0T2:SUBBX,1000JCN2;INCDLJMPT2N2:ADDBX,1000MOV[DI],DLINCDIMOVDL,0T3:SUBBX,100JCN3INCDLJMPT3N3:ADDBX,100MOV[DI],DLINCDIMOVDL,0T4:SUBBX,10JCN4INCDLJMPT4N4:ADDBX,10MOV[DI],DLINCDIMOV[DI],BLRETB_BCDENDPCODEENDSENDSTART整个实验记录的实验
6、结果如下:一、分析讨论这是《接口与通信》课程的第一个实验,虽然还有点陌生,但基本熟悉了80X86汇编语言的程序设计方法,通过DOS系统中断INT21H9号功能调用,掌握了字符串在屏幕上的显示方法。通过二进制→BCD码转换程序的设计和上机调试,掌握了二→十进制转换的基本原理和汇编语言实现方法,只是这里针对的2字节二进制数,对于多字节二进制数如何实现,还需进一步学习。通过本次课程的学习,我对微机有了初步的了解,并对这产生了浓厚的兴趣,一开始我对这节课的理解是有一定的难度,刚开始学的很吃力,因为之前学计算机组成原理课程没有学扎实,好多存储问题都不懂,但
7、是通过老师耐心的讲解,具体的分析,还有同学们的热心的帮助,我对这节课渐渐上了道,原来存储问题经过一系列的分析和转化,变得不再那么吃力,理解起来。我相信,在以后的生活中要多花时间在计算机的基础问题上,把一些基础打好,后面学起来才会更简单,在以后的工作中才能更好地走向单位,做出属于自己的事业。