资源描述:
《2019循环及分支程序设计汇编实验报告_昆明理工大学》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、循环及分支程序设计汇编实验报告_昆明理工大学 昆明理工大学信息工程与自动化学院学生实验报告 课程名称:汇编与微机接口实验开课实验室:信自楼444 20XX年11月22日年级计科20XX级学号姓名成绩实验项目名实验二循环及分支程序设计称教师评语指导教师李英娜 教师签名: 年 月 日 一、实验目的: 1、熟悉并且掌握汇编语言的基本指令;2、熟练地掌握循环与分支程序的设计过程; 3、掌握带符号数的比较转移指令:JL、JLE、JG、JGE;4、伪指令EQU及操作符'$'的使用。 5、熟悉并且掌握BIOS和
2、DOS中断的调用方法。 二、实验要求: A、设计要求 1、编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z或a-z字符,均显示“c”;若是回车字符,则结束程序,若为其它字符则不显示,继续等待新的字符输入。 2、提示编程:①回车字符的ASCII码为0DH ②显示字符用INT21H的2号调用B、设计要求 已知DATA单元开始存放三个带符号数 1、判断三个数是否同号,若同时为正,显示“+”,若同时为负,则显示“—”,否则显不“*”。 -1- 2、显示三个数中的最小值。c、设计要求
3、编写0号中断的处理程序,使得在除法溢出发生时,在屏幕上输出字符串”divideerror!”,然后返回DOS。d、设计要求 编写一个程序,接收从键盘输入的10个十进制数字,输入回车符则停止输入,然后将这些数字加密 后存入内存缓冲区BUFFER。加密表为: 输入数字:0、1、2、3、4、5、6、7、8、9密码数字:7,5,9,1,3,6,8,0,2,4提示:加密可通过XLAT指令完成。 要求:键盘输入通过BIOS和DOS中断分别实现。 三、实验环境 汇编程序:MASM,链接程序调试环境对操作系统和计算机五
4、特殊要求,如果是WIN7以上操作系统,需要安装DOSBOX虚拟平台。 四、实验内容A、 codesegment assumecs:codestart: movah,1 ;输入字符 int21h cmpal,0dh ;与回车比较,若该字符是回车则转到exit处执行 jeexit cmpal,'0' ;输入的字符与0比较,若小于0,则转到start处执行 jbstart cmpal,'9' ;输入的字符与9比较,若大于9,则转到output1处执行 jbeoutput1 cmpal,'A
5、' jbstart -2- cmpal,'Z' jbeoutput cmpal,'a' jbstart cmpal,'z' jbeoutput output1:movdl,al ;将al中的数据放到dl中movah,2 int21h jmpstartoutput:movah,02h movdl,'c' int21h jmpstartexit:movah,4ch int21hcodeendsendstart -3- B、 data_Csegment DATADB -5,4,9;该
6、处3数值可任意设定A1DB0A2DB0A3DB0 DISP_MESSDB0DH,0AH,'MINIS:'D1DB0 D2DB0,'H$' data_Cends codesegment assumecs:code,ds:data_C mainprocfarpushdssubax,axpushax movax,data_Cmovds,ax MOVBX,OFFSETDATAMOVAL,[BX]INCBX MOVAH,[BX]CMPAL,AH JLALAL1;AL ALAL1:INCBX MOVDL,[
7、BX]CMPAL,DLJLALAL XCHGAL,DL ALAL: CMPAH,DLJLAL_SMALLXCHGAH,DLAL_SMALL: -4- MOVA1,DLMOVA2,AHMOVA3,AL XORDL,AL;最大和最小数异或ANDDL,80HNOTDL TESTDL,80H;高位为1表示一正一负,否则为全负或全正JEYZYFANDAL,80HNOTAL TESTAL,80H;高位为1表示全负JEQF MOVAH,02MOVDL,'+'INT21H JMPDISP_SMALLQF: MOV
8、AH,02MOVDL,'-'INT21H JMPDISP_SMALLYZYF: MOVAH,02MOVDL,'*'INT21H DISP_SMALL:;显示最小值 MOVAL,A3MOVAH,AL ANDAX,0F00FHMOVCL,4SHRAH,CLCMPAH,0AHJGEIS_AZADDAH,30HMOVD1,AHJ