资源描述:
《循环及分支程序设计汇编实验报告_昆明理工大学.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、昆明理工大学信息工程与自动化学院学生实验报告(2012—2013学年第一学期)课程名称:汇编与微机接口实验开课实验室:信自楼4442012年11月22日年级计科2010级学号姓名成绩实验项目名称实验二循环及分支程序设计指导教师李英娜教师评语教师签名:年月日一、实验目的:1、熟悉并且掌握汇编语言的基本指令;2、熟练地掌握循环与分支程序的设计过程;3、掌握带符号数的比较转移指令:JL、JLE、JG、JGE;4、伪指令EQU及操作符'$'的使用。5、熟悉并且掌握BIOS和DOS中断的调用方法。二、实验要求:A、设计要求1、编写一个程序,判别键盘上输入的
2、字符;若是1-9字符,则显示之;若为A-Z或a-z字符,均显示“c”;若是回车字符,则结束程序,若为其它字符则不显示,继续等待新的字符输入。2、提示编程:①回车字符的ASCII码为0DH②显示字符用INT21H的2号调用B、设计要求已知DATA单元开始存放三个带符号数1、判断三个数是否同号,若同时为正,显示“+”,若同时为负,则显示“—”,否则显不“*”。2、显示三个数中的最小值。c、设计要求编写0号中断的处理程序,使得在除法溢出发生时,在屏幕上输出字符串”divideerror!”,然后返回DOS。d、设计要求编写一个程序,接收从键盘输入的10
3、个十进制数字,输入回车符则停止输入,然后将这些数字加密后存入内存缓冲区BUFFER。加密表为:输入数字:0、1、2、3、4、5、6、7、8、9密码数字:7,5,9,1,3,6,8,0,2,4提示:加密可通过XLAT指令完成。要求:键盘输入通过BIOS和DOS中断分别实现。三、实验环境汇编程序:MASM6.15,链接程序:LINK.EXE,调试环境:DEBUG.EXE,对操作系统和计算机五特殊要求,如果是WIN7以上操作系统,需要安装DOSBOX虚拟平台。四、实验内容(算法及运行结果的截图)A、codesegmentassumecs:codesta
4、rt:movah,1;输入字符int21hcmpal,0dh;与回车比较,若该字符是回车则转到exit处执行jeexitcmpal,'0';输入的字符与0比较,若小于0,则转到start处执行jbstartcmpal,'9';输入的字符与9比较,若大于9,则转到output1处执行jbeoutput1cmpal,'A'jbstartcmpal,'Z'jbeoutputcmpal,'a'jbstartcmpal,'z'jbeoutputoutput1:movdl,al;将al中的数据放到dl中movah,2int21hjmpstartoutput:
5、movah,02hmovdl,'c'int21hjmpstartexit:movah,4chint21hcodeendsendstartB、data_CsegmentDATADB-5,4,9;该处3数值可任意设定A1DB0A2DB0A3DB0DISP_MESSDB0DH,0AH,'MINIS:'D1DB0D2DB0,'H$'data_Cendscodesegmentassumecs:code,ds:data_Cmainprocfarpushdssubax,axpushaxmovax,data_Cmovds,axMOVBX,OFFSETDATAMO
6、VAL,[BX]INCBXMOVAH,[BX]CMPAL,AHJLALAL1;AL7、VDL,'+'INT21HJMPDISP_SMALLQF:MOVAH,02MOVDL,'-'INT21HJMPDISP_SMALLYZYF:MOVAH,02MOVDL,'*'INT21HDISP_SMALL:;显示最小值MOVAL,A3MOVAH,ALANDAX,0F00FHMOVCL,4SHRAH,CLCMPAH,0AHJGEIS_AZADDAH,30HMOVD1,AHJMPNN_1IS_AZ:ADDAH,40H-0AH+1MOVD1,AHNN_1:CMPAL,0AHJGEIS_AZ1ADDAL,30HMOVD2,ALJMPNN_2IS_AZ1
8、:ADDAL,40H-0AH+1MOVD2,ALNN_2:MOVAH,09MOVDX,OFFSETDISP_MESSINT21Hretm