资源描述:
《最新微机原理实验教案.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一排序程序的设计与实践一、实验目的三、汇编过程图示编写并调试一个排序子程序,其方法为用冒泡排序法,将DATA数据段中的几个单元字节中无符号的正整数,按从大到小的顺序重新排列。二、实验内容1、熟悉8088指令系统,掌握程序设计方法。2、学习在PC机上建立、汇编、链接、调试和运行汇编语言的过程。3、了解并熟悉TD运行环境,学会用TD调试程序的方法。四、程序框图实验一排序程序的设计与实践五、程序清单DATASEGMENTBUFDB21H,34H,0A6H,78H,0F8H,88H,0C9H,01H,33H,11HLENEQU$-BUFDATAENDSSTACKSEGM
2、ENTBUFSDB300DUP(?)LENSEQU$-BUFSSTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVSP,LENSS5:MOVCX,LENDECCXA53:MOVBX,OFFSETBUFPUSHCXA52:MOVAX,[BX]CMPAL,AHJCA51A54:INCBXLOOPA52POPCXLOOPA53MOVAH,4CHINT21HA51:XCHGAL,AHMOV[BX],AXJMPA54CODEENDSEND
3、START实验一排序程序的设计与实践六、实验步骤及要求(1)、在EDIT环境下键入编写程序,保存为*.asm;(2)、编译、连接源程序*.asm,分别生成*.obj、*.lst和*.exe文件。(3)、在TD调试环境下,用连续单步方式调试*.exe,观察排序时数据移动变化情况。(4)、改程序为按从小到大排序。实验一排序程序的设计与实践七、实验报告要求(包含预习报告要求和最终报告要求)1.实验名称:注意实验项目名称应与实验大纲中的实验项目名称相符。2.实验目的3.实验内容及要求预习最终4.程序设计(从大到小)报告要求报告要求包含流程图和源程序,源程序必须加必要注释。5
4、.实验结果及结果分析6.实验中出现的问题及解决方法7.回答思考题(如何改为由小到大排序)实验一排序程序的设计与实践实验一求最大值程序一、实验目的1.掌握条件判断指令的用法。2.掌握循环程序的设计方法。3.学习在屏幕上显示字符的方法。4.学习在PC机上建立、汇编、链接、调试和运行汇编语言的过程。二、实验内容在首地址为DATA1的数组中找出最大值,并在屏幕上显示出来。DATA1DB35H,07H,0ABH,56H,12H,98H,0CDH,76H,0FAH,0BFH显示结果如下图所示:实验一求最大值程序三、程序框图实验一求最大值程序四、实验步骤及要求(1)输入程序,进行
5、调试,运行出求最大值程序的结果。(2)熟悉TD调试环境下,在TD环境下单步运行本程序,以加深对程序指令的理解。(3)如何把程序改成求最小值的程序。(4)如果为有符号数,其最大值、最小值怎么求取。实验一求最大值程序五、程序介绍要掌握这个程序,需要理解以下几点:1.程序完成的任务有:定义及初始化、求最值、显示最值。2.怎么显示字符?例如显示“A”,利用INT21H的AH=02H号子功能,显示DL的内容,DL中的值为字符对应的ASCII码值。3.宏定义介绍DISXMACROXMOVDL,XMOVAH,02INT21HENDM4.如果结果最大值是FAH,存储在AL中,如何显
6、示?先AL暂存BL,对AL逻辑右移4位,再判断是不是大于9,若大于9加37H,否则加30H,然后送去显示。取出暂存的BL送AL,然后与0FH相与,再判断是不是大于9,若大于9加37H,否则加30H,再送去显示。5.返回DOS可用INT21H的AH=4CH号子功能。6.如何显示字符串?利用INT21H的AH=09H号子功能,DX指向显示字符串首地址。实验一求最大值程序六、实验程序DISXMACROXMOVDL,XMOVAH,02INT21HENDMSTACKSEGMENTSTADB512DUP(?)TOPEQULENGTHSTASTACKENDSDATASEGMENT
7、BUFDB'MAXNUMBER:',0DH,0AH,'$'DATA1DB35H,07H,0ABH,56H,12HDB98H,0CDH,76H,0FAH,0BFHBLOCKDB10DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,STACKMOVSS,AXMOVSP,TOPMOVAX,DATAMOVDS,AXMOVDX,OFFSETBUFMOVAH,09INT21HMOVSI,OFFSETBLOCKMOVCX,[SI]DECCXMOVSI,OFFSETDATA1MOVAL,[SI]MAX1:I