资源描述:
《微机原理实验教案.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、微机原理与接口技术实验教案申明自动化学院电气工程系实验一求最大值程序一、实验目的1.掌握条件判断指令的用法。2.掌握循环程序的设计方法。3.学习在屏幕上显示字符的方法。4.学习在PC机上建立、汇编、链接、调试和运行汇编语言的过程。二、实验内容在首地址为DATA1的数组中找出最大值,并在屏幕上显示出来。实验一求最大值程序三、程序框图实验一求最大值程序四、实验步骤及要求(1)输入程序,进行调试,运行出求最大值程序的结果。(2)熟悉TD调试环境下,在TD环境下单步运行本程序,以加深对程序指令的理解。(3)如何把程序改成求最小值的程序。(4)如果为有符号数,其最大值、最小值怎么求取。实验
2、一求最大值程序五、程序理解介绍要理解这个程序,需要理解以下几点:1.程序完成的任务有:定义及初始化、求最值、显示最值。2.如果显示AL=FAH,先AL暂存BL,对AL逻辑右移4位,再判断是不是大于9,若大于9加37H,否则加30H,然后送去显示。取出暂存的BL送AL,然后与0FH相与,再判断是不是大于9,若大于9加37H,否则加30H,再送去显示。3.怎么显示字符?利用INT21H的AH=02H号子功能,显示DL的内容。4.返回DOS可用INT21H的AH=4CH号子功能。5.宏定义介绍DISXMACROXMOVDL,XMOVAH,02INT21HENDM实验一求最大值程序六、实
3、验程序DISXMACROXMOVDL,XMOVAH,02INT21HENDMSTACKSEGMENTSTADB512DUP(?)TOPEQULENGTHSTASTACKENDSDATASEGMENTBUFDB'MAXNUMBER:',0DH,0AH,'$'DATA1DB35H,07H,0ABH,56H,12HDB98H,0CDH,76H,0FAH,0BFHBLOCKDB10DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,STACKMOVSS,AXMOVSP,TOPMOVAX,DATAMOVDS,AXMOVD
4、X,OFFSETBUFMOVAH,09INT21HMOVSI,OFFSETBLOCKMOVCX,[SI]DECCXMOVSI,OFFSETDATA1MOVAL,[SI]MAX1:INCSICMPAL,[SI]JANEXTMOVAL,[SI];AL中定义为最大值实验一求最大值程序NEXT:LOOPMAX1MOVBL,ALMOVCL,04SHRAL,CLCMPAL,09JAMAX4ADDAL,30HMAX2:DISXALMOVAL,BLANDAL,0FHCMPAL,09JAMAX5ADDAL,30HMAX3:DISXALMOVAH,4CHINT21HMAX4:ADDAL,37HJMP
5、MAX2MAX5:ADDAL,37HJMPMAX3CODEENDSENDSTART实验一求最大值程序七、实验报告要求(包含预习报告要求和最终报告要求)1.实验名称:注意实验项目名称应与实验大纲中的实验项目名称相符。2.实验目的3.实验内容及要求预习最终4.程序设计(求最大值)报告要求报告要求包含流程图和源程序,源程序必须加必要注释。5.实验结果及结果分析6.实验中出现的问题及解决方法7.回答思考题实验二两个多位十进制数相加的程序一、实验目的1.学习宏指令的编写方法。2.学习在屏幕上显示字符串的方法。3.学习子程序的调用方法。4.掌握数据传送和算术运算指令的用法。5.掌握多位十进制
6、数加(减)程序的编制方法。6.学习在PC机上建立、汇编、链接、调试和运行汇编语言的过程。实验二两个多位十进制数相加的程序二、实验内容将两个5位十进制数相加,要求被加数与加数均以ASCII码形式各自顺序存放在DATA1和DATA2为首的5个内存单元中,结果送DATA3处,并在屏幕上显示出来。47193+2805675249实验二两个多位十进制数相加的程序三.程序理解介绍1.加数与被加数均以ASCII码形式存在内存中,在进行运算之前,先转换为十六进制数的形式(只要减去30H即可)。2.多位数的加法要用带进位的加法指令ADC,并且在首次相加之前要注意先清进位位。3.因为是非组合的BCD
7、码(或ASCII码)的运算,所以用十进制调整指令AAA对运算结果加以修正。4.运算结果在送显示之前应转换为用ASCII码表示的数字串(加上30H即可)。5.在屏幕上显示结果可利用INT21H的02号子功能,因该功能一次只能显示一个字符,故对于显示数字串来说,要编写一段显示子程序,反复使用02H号子功能。6.加数与被加数为5位,而和可能为5位或6位,即考虑到带进位和不带进位的情况。在显示和数时最好按实际情况显示,而不要出现0。实验二两个多位十进制数相加的程序四.实验程序DISXMA