您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 第六章循环程序设answer
第六章循环程序设计参考答案6.5.1单项选择题1.C2.A3.B4.A5.D6.A7.D8.B9.B10.C6.5.2多项选择题1.ABC2.ABCD3.AB4.BC5.CD6.ACD7.ABC8.BC9.BCD10.ABC6.5.3填空题1.循环参数置初值部分(置初值部分)2.循环参数置初值部分(置初值部分)3.循环控制部分4.循环参数置初值部分、循环工作部分、循环控制部分5.2,先执行后判断,先判断后执行6.LOOPL7.多重循环8.条件控制法,开关控制法9.循环次数,减一10.加111.06.5.4程序分析题1.(1)该程序完成的功能是:统计BUF缓冲区中数字字符的个数和非数字字符的个数分别存放在N1和N2中。(2)该程序执行完后,N1和N2的内容分别是12(0CH)和15(0FH)。2.(1)该程序完成的功能是:将BUF缓冲区中的小写字母转换为大写字母。(2)该程序执行完后,BUF缓冲区中的内容是‘ER39*5867JGEEWFGHYUO9385’。3.(1)该程序完成的功能是:将BUF缓冲区的内容按正大于等于0的数和小于0的数分别送BUF1和BUF2。(2)BUF1缓冲区的内容为:47H、38、55H、0、78H。BUF2缓冲区的内容为:0A4H、93H、-23、2514.(1)该程序完成的功能是:将BUF1缓冲区中的100个字节送BUF2缓冲区的后100个字节单元中。(2)将BUF1缓冲区中的100个字节送BUF2缓冲区的前100个字节单元中。5.(1)该程序完成的功能是:将BUF1缓冲区中大于等于100的数送BUF2缓冲区。(2)将BUF1缓冲区中小于100的数送BUF2缓冲区。6.(1)该程序完成的功能是:将BUF缓冲区的100个单元的内容累加,其结果送SUM。(2)如果在程序中没有“ADCAL,0”指令,其结果的最高进位将会丢失。7.(1)该程序完成的功能是:将BUF缓冲区的以0为结尾的若干个单元的内容累加,其结果送SUM。(2)程序执行完后,共执行了7次相加的操作。8.(1)该程序完成的功能是:将BUF缓冲区中压缩的BCD码转换成十进制显示。(2)在显示器上显示的结果是3254787364296803。9.(1)该程序完成什么功能是:统计BUF字单元中为1的位数送SUM单元。(2)程序执行完后,SUM单元的结果为7。10.(1)该程序完成什么功能是:将数组A和数组B的内容相加,其结果送数组C。(2)如果在程序中没有“ADCAH,0”指令,其结果的最高进位将会丢失。11.(1)该程序完成功能是:将BIN中的二进制数转换为十进制数显示输出。(2)程序执行完后,显示的结果为7462。12.(1)该程序完成什么功能是:将BUF缓冲区中的压缩BCD转换为非压缩BCD送STR缓冲区并送DISBUF缓冲区显示输出。(2)程序执行完后,显示的结果为6691286523。13.(1)该程序完成什么功能是:统计以0为结束的BUF字符串缓冲区中字符$出现的次数,并将统计的结果送COUNT单元。(2)程序执行完后,COUNT结果为5。14.(1)该程序完成什么功能是:在BUF缓冲区中生成斐波纳契数列值。(2)程序执行完后,BUF中的内容为0,1,1,2,3,5,8,13,21,34。15.(1)该程序完成什么功能是:将BUF缓冲区的内容进行累加,若在累加过程中出现溢出,则FLAG置1、累加的单元个数送ADDR、累加的和数送SUM;否则FLAG清0、累加的单元个数送ADDR、累加的和数送SUM。(2)程序中若没有指令“INCSI”,程序执行后可能会出现累加的单元个数少一个单元。16.(1)该程序完成什么功能是:将键盘输入的字符串按相反的方向显示输出。(2)显示输出的结果为54321。17.(1)该程序完成什么功能是:找出数组ARY中的最大值和最小值分别送MX、NIN。(2)MX中存放最大值,NIN中存放最小值。6.5.5程序填空题1.(1)LEASI,STR或MOVSI,OFFSETSTR(2)JNZNEXT(3)LOOPL2.(1)MOVSI,0(2)ADCAL,BYTEPTRY[SI](3)LOOPL(4)ADCAL,03.(1)MOVDH,0(2)MULSEC(3)AAA(4)INCSI4.(1)MOVCL,BUF+1(2)JNZQ或JNEQ(3)ADCAH,0(4)NEGAX5.(1)MOVAX,BUF(2)DIVCX(3)MOV[BX],DL(4)INCBX6.(1)JEDONE或JZDONE(2)CMPBYTEPTR[BX],39H(3)JMPL(4)JMPRE7.(1)MOVCX,C(2)DAA(3)DAS(4)INCSI8.(1)L:MOVAX,[SI](2)JSNE(3)ADDSI,29.(1)JBNCHAR(2)JANEXT2(3)CMPAL,7BH(4)JMPL10.(1)NOTBYTEPTR[SI](2)LOOPL1(3)STC(4)LOOPL211.(1)MOVBX,COUNT(2)ANDDL,0FH(3)JNZL12.(1)LEADI,BUF1或MOVDI,OFFSETBUF1(2)JGENEXT(3)INCDI6.5.6程序设计题1.DATASEGMENTBUFDW100DUP(?)BUF1DW100DUP(0)BUF2DW100DUP(0)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,100LEASI,BUFLEADI,BUF1LEABX,BUF2L:MOVAX,[SI]CMPAX,0JLNMOV[DI],AXADDDI,2JMPNEXTN:MOV[BX],AXADDBX,2NEXT:ADDSI,2LOOPLMOVAH,4CHINT21HCODEENDSENDSTART2.DATASEGMENTBUFDW255DUP(?)ZRDB‘ZRROR=$’ZDB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,255LEASI,BUFL:MOVAX,[SI]CMPAX,0JNZNEXTINCZNEXT:ADDSI,2LOOPLLEADX,ZRMOVAH,9INT21HMOVDL,ZMOVCL,4SHRDL,CLCMPDL,9JBENEXT1ADDDL,7NEXT1:ADDDL,30HMOVAH,2INT21HMOVDL,ZANDDL,0FHCMPDL,9JBENEXT2ADDDL,7NEXT2:ADDDL,30HMOVAH,2INT21HMOVAH,4CHINT21HCODEENDSENDSTART3.DATASEGMENTBUFDB‘LINE1AAAAAAAAAAAA’,0DH,0AHDB‘LINE2BBBBBBBBBBBBB’,0DH,0AHDB‘LINE3CCCCCCCCCCCCC’,0DH,0AHDB‘LINE4DDDDDDDDDDDD’,0DH,0AHDB‘LINE5EEEEEEEEEEEEEE’,0DH,0AHDB‘LINE6FFFFFFFFFFFFFFF’,0DH,0AH,1AHN=4DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,3LEASI,BUF-1L1:INCSICMP[SI],BYTEPTR0AHJNZL1LOOPL1MOCDI,SIL2:INCSICMP[SI],BYTEPTR0AHJNZL2L3:INCSIINCDIMOVAL,[SI]MOV[DI],ALCMPAL,1AHJNZL3LEASI,BUFPLAY:MOVDL,[SI]CMPDL,1AHJZEXITMOVAH,2INT21HINCSIJMPPLAYEXIT:MOVAH,4CHINT21HCODEENDSENDSTART4.DATASEGMENTSTRDB‘ZSDRT5B6AABET45YDB6MM。/;L8’C=$-STRFLGEDB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,CLEASI,STRMOVFLGE,0L:MOVAL,[SI]CMPAL,‘A’JNZNEXTMOV[SI],BYTEPTR‘B’MOVFLGE,1NEXT:INCSILOOPLCMPFLGE,0JNZEXITMOV[SI],BYTEPTR‘B’EXIT:MOVAH,4CHINT21HCODEENDSENDSTART5.DATASEGMENTSTR1DB‘ZSDRT5B6AABET45YDB6MM。/;L8’C1=$-STR1STR2DB‘ZSDRT5B6AABET45YDB6MM。/;L’C2=$-STR2NDB‘NOMATCH!$’YDB‘MATCH!$’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,C1CMPCX,C2JNZNOEQLEASI,STR1LEADI,STR2L:MOVAL,[SI]CMPAL,[DI]JNZNOEQINCSIINCDILOOPLLEADX,YMOVAH,9INT21HJMPEXITNOEQ:LEADX,NMOVAH,9INT21HEXIT:MOVAH,4CHINT21HCODEENDSENDSTART6.DATASEGMENTADB‘MOVAL,AH’,0DH,0AHDB‘SHRAL,CL’,0DH,0AHDB‘ADDAL,BL’,0DH,0AH,1AHBDB‘MOVAL,AH’,0DH,0AHDB‘SHRAL,CL’,0DH,0AHDB‘ADDAL,DL’,0DH,0AH,1AHNDB‘第’,30H,‘行:’,0DH,0AH,‘$’BUF1DB100DUP(0)BUF2DB100DUP(0)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,ALEADI,BL:MOVAL,0MOVCX,200LEABX,BUF1L0:MOV[BX],ALINCBXLOOPL0LEABX,BUF1MOVDX,0L1:CMP[SI],BYTEPTR1AHJZEXITMOVAL,[SI]MOV[BX],ALINCSIINCBXINCDHCMPAL,0AHJNZL1MOV[BX],BYTEPTR‘$’LEABX,BUF2L2:CMP[DI],BYTEPTR1AHJZEXITMOVAL,[DI]MOV[BX],ALINCDIINCBXINCDLCMPAL,0AHJNZL2MOV[BX],BYTEPTR‘$’INCN+2CMPDH,DLJNZPLAYMOVBX,0MOVCL,DLMOVCH,0L3:MOVAL,BUF1[BX]CMPAL,BUF2[BX]JNZPLAYINCBXLOOPL3JMPLPLAY:LEADX,NMOVAH,9INT21HLEADX,BUF1MOVAH,9INT21HLEADX,BUF2MOVAH,9INT21HJMPLEXIT:MOVAH,4CHINT21HCODEENDSENDSTART7.DATASEGMENTBUFDB0ERRORDB0DH,0AH,‘INPUTERROR!$’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXL:MOVAH,1INT21HCMPAL,30HJBERCMPAL,39HJNACONER:LEADX,ERRORMOVAH,9INT21HJMPLCON:MOVBUF,ALANDAL,0FHCBWMOVCX,AXJCXZEXITL:MOVDL,7MOVAH,2INT21HMOVBX,1000DELAY:DECBXJNZDELAYLOOPLEX
本文标题:第六章循环程序设answer
链接地址:https://www.777doc.com/doc-2159012 .html