资源描述:
《实验4 分支程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验4分支程序设计实验目的:(1)掌握分支程序设计方法。(2)掌握利用转移指令jb、jl、ja、jg、jmp实现多岔分支的方法。(3)学习和掌握对数组分类统计的方法。实验内容:(1)编程实现对字符串中各类字符的统计;(2)编程实现对学生成绩的分段统计。实验过程:(1)编辑、汇编、连接及调试一个程序,对字符串str=’123App5-ASM611Study!’统计其中的数字字符、大写字母和空格的个数,分别存入变量numbers、letters和blanks。源程序(e41.asm)如下:datasegmentstrdb'2011-WelcomeYou2010!'LENdw$-strnumsd
2、b?letsdb?spasdb?dataendscodesegmentassumecs:code,ds:datago:movax,datamovds,axMOVSI,0MOVBX,0MOVDL,0MOVCX,LENN1:MOVAL,STR[SI]CMPAL,20HJNEL1INCDL;统计空格JMPLLL1:CMPAL,'0'JBLLCMPAL,'9'JAL2INCBH;统计数字JMPLLL2:CMPAL,'A'JBLLCMPAL,'Z'JALLINCBL;统计大写字母LL:INCSILOOPN1MOVnums,BHMOVlets,BLMOVspas,DLmovah,4chint21hco
3、deendsendgo①阅读程序,将程序补充完整;②编辑、汇编、连接该程序;③在DEBUG下运行此程序,记录运行结果(数据段的地址、各统计变量的地址及值)。(2)统计学生成绩result。设有10个学生的成绩分别为56、69、84、82、73、88、99、63、100和80分。试编制程序分别统计低于60分、60~69分、70~79分、80~89分、90~99分及100分的人数,并分别存放到s5、s6、s7、s8、s9及s10单元中。DSEGSEGMSEGENTgradedw56,69,84,82,73,88,99,63,100,80s5dw0s6dw0s7dw0s8dw0s9dw0s10d
4、w0DSEGENDSCSEGSEGMENTassumecs:CSEG,ds:DSEGGO:movax,dsegmovds,axMOVCX,10MOVBX,OFFSETGRADECOMPARE:MOVAX,[BX]CMPAX,60JLFIVECMPAX,70JLSIXCMPAX,80JLSEVENCMPAX,90JLEIGHTCMPAX,100JNENINEINCS10①JMPSHORTCHANGE_ADDR②NINE:INCS9JMPSHORTCHANGE_ADDREIGHT:INCS8JMPSHORTCHANGE_ADDRSEVEN:INCS7JMPSHORTCHANGE_ADDRSIX
5、:INCS6JMPSHORTCHANGE_ADDRFIVE:INCS5CHANGE_ADDR:ADDBX,2③LOOPCOMPARE④movah,4chint21hCSEGENDSendstart①阅读程序,将程序补充完整;②编辑、汇编、连接该程序;③在DEBUG下运行此程序,记录运行结果(数据段的地址、各统计变量的地址及值)。