收藏 分享(赏)

第五章基本结构程序设计习题参考答.ppt

上传人:yjrm16270 文档编号:5909022 上传时间:2019-03-21 格式:PPT 页数:30 大小:156.50KB
下载 相关 举报
第五章基本结构程序设计习题参考答.ppt_第1页
第1页 / 共30页
第五章基本结构程序设计习题参考答.ppt_第2页
第2页 / 共30页
第五章基本结构程序设计习题参考答.ppt_第3页
第3页 / 共30页
第五章基本结构程序设计习题参考答.ppt_第4页
第4页 / 共30页
第五章基本结构程序设计习题参考答.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、1,第五章课后习题参考答案,P86_4.16 若在数组字变量AQTAB平方表中有十进制数020的平方值,从表中找出16的平方值,结果送字变量NUM单元中。,参考答案,DATA SEGMENTAQTAB DW 0,1,4,9,16,25,36,49,64,81,100,121,144DW 169,196,225,256,289,324,361,400BUF DW 16NUM DW ? DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA BEGIN:MOV AX,DATA MOV DS, AXMOV BX , OFFSET AQTABMOV AX, BUFAD

2、D AX,AXADD BX, AX,MOV AX, BX MOV NUM , AXMOV AH,4CHINT 21HCODE ENDSEND BEGIN,P86_4.17 计算D=B*2-4AC,设A=2,B=9,C=8。结果存放在RESUT中。,DATA SEGMENTA DB 2 B DB 9C DB 8RESULT DW ? ,? DATA ENDS CODE SEGMENTASSUME DS:DATA,CS:CODE START:MOV AX,DATAMOV DS,AX,MOV AL,2IMUL BCWDMOV BX,DXMOV CX,AXMOV AL,AIMUL CMOV DX,4I

3、MUL DXSUB CX,AXSBB BX,DXMOV RESULT,CXMOV RESULT+2,BXMOV AH,4CHINT 21H CODE ENDS END START,P102_5.6,BUF1偶数?,Y,N,开始,结束,BUF2偶数?,Y,N,BUF1与BUF2交换,BUF2偶数?,Y,N,BUF1中数1 BUF2中数1,DATA SEGMENTBUF1 DB 30HBUF2 DB 23H DATA ENDS CODE SEGMENTASSUME DS:DATA,CS:CODE START:MOV AX,DATAMOV DS,AX MOV AL,BUF1MOV BL,BUF2TE

4、ST AL,01HJZ OS1 ;BUF1中为偶数TEST BL,01HJZ EXIT ;BUF1中奇数,BUF2为偶数INC BUF1 ;均为奇数 INC BUF2JMP EXIT,OS1: TEST BL,01HJZ EXIT ;均为偶数MOV BUF1,BL ;BUF1中偶数,BUF2为奇数MOV BUF2,AL EXIT: MOV AH,4CHINT 21H CODE ENDS END START,P102_5.10从STRING开始存放一以为结束标志的字符串,把字符串中的字符分类,数字送入NUM开始的内存区,大写字母送入BCHAR开始的内存区,小写字母送入LCHAR开始的内存区,其它

5、字符存到OTHER开始的内存区。,AL=7AH?,DATA SEGMENTSTRING DB 1$2AaDd#CNT EQU $-STRING-1NUM DB CNT DUP (?)BCHAR DB CNT DUP(?)LCHAR DB CNT DUP(?)OTHER DB CNT DUP(?) DATA ENDS CODE SEGMENTASSUME CS:CODE, DS:DATA START: MOV AX,DATAMOV DS,AX,MOV SI,OFFSET STRINGMOV DI,OFFSET NUMMOV BP,OFFSET BCHARMOV CX,OFFSET LCHARMO

6、V DX,OFFSET OTHER LOP1: MOV AL,SICMP AL,#JZ EXITCMP AL,0JB OTHER1CMP AL,9JBE NUM1CMP AL,AJB OTHER1CMP AL,ZJBE BCHAR1CMP AL,aJB OTHER1CMP AL,zJA OTHER1,LCHAR1: MOV BX,CXMOV BX,ALINC CXJMP NEXT BCHAR1: MOV DS:BP,ALINC BPJMP NEXT NUM1: MOV DI,ALINC DIJMP NEXT OTHER1: MOV BX,DXMOV BX,ALINC DX NEXT: INC

7、SIJMP LOP1 EXIT: MOV AH,4CH INT 21H CODE ENDSEND START,P102_5.10,DATA SEGMENTSCORE DB 96,87,88,85,78,67,77,90,81,100DB 92,81,83,89,71,61,74,95,88,100CNT EQU $-SCOREG6 DB ?G7 DB ?G8 DB ?G9 DB ?G10 DB ? DATA ENDS CODE SEGMENTASSUME CS:CODE, DS:DATA START: MOV AX,DATAMOV DS,AX MOV SI,OFFSET SCOREMOV CX

8、,CNT,LOP1: MOV AL,SICMP AL,69JBE N6CMP AL,79JBE N7CMP AL,89JBE N8CMP AL,99JBE N9INC G10JMP NEXT,N6: INC G6JMP NEXT N7: INC G7JMP NEXT N8: INC G8JMP NEXT N9: INC G9 NEXT: INC SILOOP LOP1 EXIT: MOV AH,4CH INT 21H CODE ENDSEND START,14,第五章习题参考答案,5.1 已知某班学生的英语成绩按学号(从1开始)从小到大的顺序排列在TAB表中,要查的学生的学号放在NO所指向的存

9、储单元中。 编写程序查找学号为10的学生的成绩。查表结果放在ENGLISH所指向的存储单元中。5.2 已知在X单元中存放着一个8位无符号数,判断该数的奇偶性。如是奇数存入N1单元,否则存入N2单元。,5.3 从STR开始存放一字符串,统计串中字符A的个数,存放在RESU字节单元。 5.4 从BUF开始存放若干带符号字节数据,将它们相加并将结果(超过一字节范围)存放到字单元SUM中。 5.5 将两个多字节压缩BCD码相加,假定两个压缩BCD码分别从BCD1、BCD2开始存放,结果从BCD3开始存放。 5.6 设从STRING开始存放一以为结束标志的字符串,把字符串中的字符分类,数字送入NUM开始

10、的内存区,字母送入CHAR开始的内存区,其它字符存到OTHER开始的内存区。,16,参考答案,5.1 某班学生英语成绩按学号(从1开始)从小到大的顺序排列在TAB表中,要查的学生的学号放在NO所指向的存储单元中。编程查找学号为8的学生的成绩。查表结果放在ENGLISH所指向的存储单元中。,DATA SEGMENTORG 1 TAB DB 80, 85, 86, 71, 98 , 83, 56, 32, 66, 100NO DB 8 ENGLISH DB ? DATA ENDS CODE SEGMENTASSUME DS:DATA , CS:CODE BEGIN:MOV AX , DATAMOV

11、 DS , AXMOV BX , 0 MOV AH , 0MOV AL , NOADD BX , AXMOV AL , BXMOV ENGLISH , ALMOV AH , 4CHINT 21H CODE ENDSEND BEGIN,DATA SEGMENTNO DB 8 TAB DB 80, 85, 86, 71, 98 , 83, 56, 32, 66, 100ENGLISH DB ? DATA ENDS CODE SEGMENTASSUME DS:DATA , CS:CODE BEGIN:MOV AX , DATAMOV DS , AXLEA BX , NO MOV AH , 0MOV

12、AL , NOXLATMOV ENGLISH , ALMOV AH , 4CHINT 21H CODE ENDSEND BEGIN,5.2已知在X单元中存放着一个8位无符号数,判断该数的奇偶性。如是奇数存入N1单元,否则存入N2单元。,DATA SEGMENTX DB 78HN1 DB ?N2 DB ? DATA ENDS CODE SEGMENTASSUME CS:CODEASSUME DS:DATA START:MOV AX,DATAMOV DS,AX,MOV AL,XSHR AL,1JC JISHUMOV AL,XMOV N2,ALJMP EXIT JISHU:MOV AL,XMOV N

13、1,AL EXIT: MOV AH,4CHINT 21H CODE ENDSEND,5.2已知在X单元中存放着一个8位无符号数,判断该数的奇偶性。如是奇数存入N1单元,否则存入N2单元。,问题: 1、无符号数扩展 2、PF含义 3、无跳转指令,两个分支都执行,5.3 从STR开始存放一字符串,统计串中字符A的个数,存放在RESU字节单元。,DATA SEGMENTSTR DB ASAAASAASCNT EQU $-STRRESU DB ? DATA ENDS CODE SEGMENTASSUME CS:CODEASSUME DS:DATA START: MOV AX,DATAMOV DS,AX

14、 MOV CX,CNTMOV BX,0MOV AX,0,COUNT:CMP STRBX,AJZ A_NOJMP NEXT A_NO: INC AL. ;A个数加1 NEXT: INC BX DEC CX JNZ COUNTMOV RESU, ALMOV AH,4CHINT 21H CODE ENDSEND START,5.4 从BUF开始存放若干带符号字节数据,将它们相加并将结果(超过一字节范围)存放到字单元SUM中。,5.5 将两个多字节压缩BCD码相加,假定两个压缩BCD码分别从BCD1、BCD2开始存放,结果从BCD3开始存放。,5.6设从STRING开始存放一以为结束标志的字符串,把字

15、符串中的字符分类,数字送入NUM开始的内存区,字母送入CHAR开始的内存区,其它字符存到OTHER开始的内存区。,DATA SEGMENTSTRING DB 1$9AaGgzZ#CNT EQU $-STRING-1NUM DB CNT DUP (?)CHAR DB CNT DUP (?)OTHER DB CNT DUP (?) DATA ENDS CODE SEGMENTASSUME CS:CODE, DS:DATA START: MOV AX,DATAMOV DS,AX MOV BP,OFFSET STRINGMOV SI,OFFSET NUMMOV DI,OFFSET CHARMOV BX

16、,OFFSET OTHER,LOP1: MOV AL,DS:BPCMP AL,#JZ EXITCMP AL,0JB OTHER1CMP AL,9JBE NUM1CMP AL,AJB OTHER1CMP AL,ZJBE CHAR1CMP AL,aJB OTHER1CMP AL,zJA OTHER1,CHAR1: MOV DI,ALINC DIJMP NEXT NUM1: MOV SI,ALINC SIJMP NEXT OTHER1:MOV BX,ALINC BX NEXT: INC BPJMP LOP1 EXIT: MOV AH,4CH INT 21H CODE ENDSEND START,5.

17、7 找出首地址为BUF的包含若干个带符号字节数据的数据块中的最小偶数,结果放在RESU字节单元中,并以16进制形式显示在屏幕上。,DATA SEGMENTBUF DB -1,4,-4,23,12CNT EQU $-BUFEVEN1 DB CNT DUP(?)RESU DB ? DATA ENDS CODE SEGMENTASSUME CS:CODE, DS:DATA START:MOV AX,DATAMOV DS,AX,MOV SI,OFFSET BUFMOV DI,OFFSET EVEN1MOV CX,CNTMOV DX,0 LOP1:MOV AL,SITEST AL,01HJNZ NEXT

18、1 ;奇数转移MOV DI,ALINC DIINC DX ;DX为偶数个数 NEXT1:INC SILOOP LOP1,DEC DXMOV CX,DXMOV DI,OFFSET EVEN1MOV AL,DI CMP1:INC DICMP AL,DIJLE NEXT2MOV AL,DI NEXT2:LOOP CMP1MOV RESU,ALCALL HEX16OUTMOV AH,4CHINT 21H,HEX16OUT PROCMOV BL,ALMOV CL,4SHR AL, CLCMP AL,0AHJB HEXADD AL,7 HEX: ADD AL,30HMOV DL,ALMOV AH,2INT

19、 21H;输出高位,AND BL,0FHCMP BL,0AH JB HEX1ADD BL,7 HEX1: ADD BL,30HMOV DL,BLMOV AH,2INT 21H;输出低位MOV DL,HMOV AH,2INT 21H ;输出HRET HEX16OUT ENDP CODE ENDSEND START,5.8 在地址为TABLE的字数据块中存放按升序排列的若干带符号数,把出现次数最多的数及出现的次数分别存入RESU1、RESU2字单元。,DATA SEGMENTTABLE DW -2,-2,3,5,5,5CNT EQU ($-TABLE)/2RESU1 DW ?RESU2 DW ?

20、DATA ENDS CODE SEGMENTASSUME CS:CODE, DS:DATA START: MOV AX,DATAMOV DS,AX,MOV SI,OFFSET TABLEMOV CX,CNT-1MOV BX,0;存放出现次数最多的数MOV DX,0 ;存放次数 LOOP1: MOV AX,SIMOV DI,1 LOOP2: INC SI INC SICMP AX,SIJZ NEXTCMP DI,DXJB NEXT1MOV DX,DIMOV BX,AXJMP NEXT1,NEXT:INC DILOOP LOOP2CMP DI,DXJB RESUTMOV DX,DIMOV BX,AXJMP RESUT NEXT1:LOOP LOOP1 RESUT:MOV RESU1,BXMOV RESU2,DXMOV AH,4CHINT 21H CODE ENDSEND START,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 试题课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报