资源描述:
《实验三 循环程序的编写20131030.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、微机原理与接口技术实验实验三循环程序的编写与调试教案一、实验重点与难点1、学习数据传送和算术运算指令的用法;2、 了解与掌握汇编程序结构与设计方法;3、掌握简单循环与多重循环汇编源程序的分析与设计;4、掌握子程序的定义与调用;5、掌握宏指令的使用方法。二、实验讲解1、简单循环语句基本框架图3-1简单循环流程图;sy3.asmDATASEGMENT;此处添加数据定义DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,10;初值;循环体lbl1:----
2、-DECCX;步长JNZlbl1;与终值判断MOVAH,4CHINT21HCODEENDSENDSTART9物理与电子工程学院2021-9-18微机原理与接口技术实验2、多重循环结构;sy3.asmDATASEGMENT;此处添加数据定义DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCH,10;lbl0:MOVCL,CH;循环体lbl1:-----DECCLJNZlbl1----DECCHJNZlbl0MOVAH,4CHINT21HCODEENDSE
3、NDSTART图3-2多重循环流程图3、子程序定义与调用:一般子程序定义在代码段内9物理与电子工程学院2021-9-18微机原理与接口技术实验4、宏指令:一般宏定义在程序最上方(数据段之前)宏定义宏调用SHIFTMACROX,YMOVCL,YSALX,CLENDMMOVAL,[DI]ADDAL,[SI]SHIFTAL,4MOV[BX],AL三、实验内容1、加法指令:sy3_1.asm设有数据定义语句:DATASEGMENTDATA1DB'12732'DATA2DB'06815'NEQU$-DATA2DATAENDS试编程实现如下输出效果
4、:要求:(1)DATA1、DATA2字符串显示采用宏定义实现;(2)加法部分尽量采用子程序实现;2、找最大数:sy3_2.asm设有数据定义语句:DATASEGMENTDATA1DB12,54,1,56,89,98,34,56,87,90NUMEQU$-DATA1MAXDB?DATAENDS要求:(1)实现求最大数,并将最大数向屏幕输出;(2)输出最大数前首先向屏幕输出十个原始数据;(3)合理划分程序模块,尽量采用子程序实现;3、数据排序:sy3_3.asm设有数据定义语句:DATASEGMENTDATA1DB12,54,1,56,89
5、,98,34,56,87,90NUMEQU$-DATA1DATAENDS要求:(1)实现DATA1数据的升序排列;(2)采用子程序实现数据的屏幕输出;9物理与电子工程学院2021-9-18微机原理与接口技术实验三、预习要求1、分析与设计程序结构;2、采用多种方式完成实验内容的各项程序编写;四、实验报告要求1、子程序定义与调用时应注意的问题?2、根据各项实验内容要求完成程序与写出结果;3、指出实验过程中碰到的问题与解决办法,还有什么改进的地方。2.DATASEGMENTDATA1DB12,54,1,56,89,98,34,56,87,90
6、NUMEQU$-DATA1BUFDB3DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBX,OFFSETDATA1MOVCL,NUMDD:MOVAL,[BX]CALLDISPLMOVDL,''MOVAH,2INT21HINCBXLOOPDDMOVBX,OFFSETDATA1MOVCL,NUMMOVAL,[BX]P1:INCBXCMPAL,[BX]JAENEXTMOVAL,[BX]NEXT:DECCL9物理与电子工程学院2021-9-18微机
7、原理与接口技术实验JNZP1CALLDISPLMOVAH,4CHINT21HDISPLPROCPUSHAXPUSHBXPUSHCXLEABX,BUFMOVSI,0D1:MOVAH,0MOVCL,10DIVCLORAH,30HMOV[BX+SI],AHINCSICMPAL,0JNZD1DS1:MOVAH,02HMOVDL,[BX+SI-1]INT21HDECSIJNZDS1POPCXPOPBXPOPAXRETDISPLENDPCODEENDSENDSTART3.DATASEGMENTDATA1DB12,54,1,56,89,98,34,5
8、6,87,90NUMEQU$-DATA1BUFDB3DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCH,N