资源描述:
《总汇编语言上机实验五》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、标准文档实验报告:课程:汇编语言程序设计专业班级:计算机科学与技术学号:姓名:李中实验五循环结构程序设计实验一、实验目的1、学会单重循环和多重循环程序的基本设计方法2、学会循环控制指令的使用方法3、学会数据串操作指令的使用方法4、学会循环程序的控制方法二、实验要求1、仔细阅读教材中循环程序的组成及控制方法部分2、熟练掌握在DEBUG中调试程序的方法3、了解DEBUG中T命令与P命令的不同点实用文案标准文档1、掌握循环结构程序的调试方法一、实验内容1、编写程序,完成在屏幕上显示‘九九表’的功能。2、编写程序。已知内存中连续存放着10个带符号字节数据,求出该组
2、数据中的最大值和最小的值,结果存放在指定的内存单元中二、解题思路采用循环的方式编写程序,现将1~9存入内存中,每次取一个数,依次输出被乘数,乘号‘X‘,乘数,等号‘=‘,结果。乘数从零递增,小于被乘数时,输出空格,等于被乘数时,输出换行符。直到内存中的数取完了先取第一个数,并将这个数设成最大和最小值。然后依次取数,分别于最大值,和最小值比较。比最大值大,将最大值替换为此数,比最小值小,将最小值替换为此数。循环至所有数都取完。将最大最小值移入内存。三、编程实现1、DSEGSEGMENTDATADB1,2,3,4,5,6,7,8,9DSEGENDSCSEGSE
3、GMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AX实用文案标准文档MOVBL,01HMUL2:XORCX,CXMOVCL,BLLEASI,DATAMUL1:MOVDL,BLADDDL,30HMOVAH,02HINT21HMOVDL,'X'MOVAH,02HINT21HMOVDL,[SI]ADDDL,30HMOVAH,02HINT21HMOVDL,'='MOVAH,02HINT21HMOVAL,BLXORAH,AHMOVBH,[SI]MULBHCMPAL,0AHJAERELMOVDL,ALADDDL,30HM
4、OVAH,02HINT21H实用文案标准文档NEXT:MOVDL,20HMOVAH,02HINT21HINCSILOOPMUL1MOVDL,0AHMOVAH,02HINT21HADDBL,01HCMPBL,09HJBEMUL2JMPEND0REL:MOVDL,0AHDIVDLMOVBH,AHMOVDL,ALADDDL,30HMOVAH,02HINT21HMOVDL,BHADDDL,30HMOVAH,02HINT21HJMPNEXTEND0:MOVAH,4CHINT21HCSEGENDSENDSTART实用文案标准文档编辑:汇编:实用文案标准文档链接:运行:
5、实用文案标准文档2、DSEGSEGMENTDATADB-1,5,10,7,6,-5,1,3,-4,8MAXDB0MINDB0DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXMOVCX,10LEASI,DATAGO:MOVDL,[SI]MOVBH,MAXMOVBL,MINCMPDL,BHJGEMAXETESTM:CMPDL,BLJLEMINEJMPGOONMAXE:MOVMAX,DLJMPTESTMMINE:MOVMIN,DLGOON:INCSILOOPGOMOVAH,4CHIN
6、T21H实用文案标准文档CSEGENDSENDSTART编辑:汇编:实用文案标准文档链接:实用文案标准文档运行结果:一、心得体会1、程序应该设置断点。因为循环结构程序,通常处理的数据很多,部分指令重复执行,用T命令单步跟踪执行太麻烦,U反汇编不容易观察。设置断点,用G命令执行程序后,在用D命令,就可以观察内存的情况,以检验程序是否正常。2、循环的时候,有的时候需要保存中间结果,这时可以用压栈的方式保存想要的结果,进行其他程序执行,想用的时候,在从栈中取出就行,这样可以保证中间结果不会丢失和损毁。3、实用文案标准文档进行循环时,控制部分的设置很重要。当不满足
7、循环条件,跳出循环时,应根据寄存器的状态和某些条件判断,接下来进行什么操作。因此,在开始的时候,要清空寄存器并置位。实用文案