第六章 循环程序设answer.docx
- 文档编号:18248715
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:27
- 大小:19.89KB
第六章 循环程序设answer.docx
《第六章 循环程序设answer.docx》由会员分享,可在线阅读,更多相关《第六章 循环程序设answer.docx(27页珍藏版)》请在冰点文库上搜索。
第六章循环程序设answer
第六章循环程序设计
参考答案
6.5.1 单项选择题
1.C 2.A 3.B 4.A 5.D 6.A 7.D 8.B 9.B 10.C
6.5.2 多项选择题
1.ABC 2.ABCD 3.AB 4.BC 5.CD
6.ACD 7.ABC 8.BC 9.BCD 10.ABC
6.5.3 填空题
1.循环参数置初值部分(置初值部分)
2.循环参数置初值部分(置初值部分)
3.循环控制部分
4.循环参数置初值部分、循环工作部分、循环控制部分
5.2,先执行后判断,先判断后执行
6.LOOP L
7.多重循环
8.条件控制法,开关控制法
9.循环次数,减一
10.加1
11.0
6.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、251
4.
(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)如果在程序中没有“ADC AL,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)如果在程序中没有“ADC AH,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)程序中若没有指令“INC SI”,程序执行后可能会出现累加的单元个数少一个单元。
16.
(1)该程序完成什么功能是:
将键盘输入的字符串按相反的方向显示输出。
(2)显示输出的结果为54321。
17.
(1)该程序完成什么功能是:
找出数组ARY中的最大值和最小值分别送MX、NIN。
(2)MX中存放最大值,NIN中存放最小值。
6.5.5 程序填空题
1.
(1)LEA SI,STR 或 MOV SI,OFFSETSTR
(2)JNZ NEXT
(3)LOOP L
2.
(1)MOV SI,0
(2)ADC AL,BYTEPTRY[SI]
(3)LOOP L
(4)ADC AL,0
3.
(1)MOV DH,0
(2)MUL SEC
(3)AAA
(4)INC SI
4.
(1)MOV CL,BUF+1
(2)JNZ Q 或 JNE Q
(3)ADC AH,0
(4)NEG AX
5.
(1)MOV AX,BUF
(2)DIV CX
(3)MOV [BX],DL
(4)INC BX
6.
(1)JE DONE 或JZ DONE
(2)CMP BYTE PTR[BX],39H
(3)JMP L
(4)JMP RE
7.
(1)MOV CX,C
(2)DAA
(3)DAS
(4)INC SI
8.
(1)L:
MOV AX,[SI]
(2)JS NE
(3)ADD SI,2
9.
(1)JB NCHAR
(2)JA NEXT2
(3)CMP AL,7BH
(4)JMP L
10.
(1)NOT BYTE PTR[SI]
(2)LOOP L1
(3)STC
(4)LOOP L2
11.
(1)MOV BX,COUNT
(2)AND DL,0FH
(3)JNZ L
12.
(1)LEA DI,BUF1 或 MOV DI,OFFSET BUF1
(2)JGE NEXT
(3)INC DI
6.5.6 程序设计题
1. DATA SEGMENT
BUF DW 100DUP(?
)
BUF1 DW 100DUP(0)
BUF2 DW 100DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:
CODE,DS:
DATA
START:
MOV AX,DATA
MOV DS,AX
MOV CX,100
LEA SI,BUF
LEA DI,BUF1
LEA BX,BUF2
L:
MOV AX,[SI]
CMPAX,0
JL N
MOV [DI],AX
ADD DI,2
JMP NEXT
N:
MOV [BX],AX
ADD BX,2
NEXT:
ADD SI,2
LOOP L
MOV AH,4CH
INT 21H
CODE ENDS
END START
2. DATA SEGMENT
BUF DW 255DUP(?
)
ZR DB ‘ZRROR=$’
Z DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:
CODE,DS:
DATA
START:
MOV AX,DATA
MOV DS,AX
MOV CX,255
LEA SI,BUF
L:
MOV AX,[SI]
CMP AX,0
JNZ NEXT
INC Z
NEXT:
ADD SI,2
LOOP L
LEA DX,ZR
MOV AH,9
INT 21H
MOV DL,Z
MOV CL,4
SHR DL,CL
CMP DL,9
JBE NEXT1
ADD DL,7
NEXT1:
ADD DL,30H
MOV AH,2
INT 21H
MOV DL,Z
AND DL,0FH
CMP DL,9
JBE NEXT2
ADD DL,7
NEXT2:
ADD DL,30H
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
3. DATA SEGMENT
BUF DB ‘LINE1 AAAAAAAAAAAA’,0DH,0AH
DB ‘LINE2 BBBBBBBBBBBBB’,0DH,0AH
DB ‘LINE3 CCCCCCCCCCCCC’,0DH,0AH
DB ‘LINE4 DDDDDDDDDDDD’,0DH,0AH
DB ‘LINE5 EEEEEEEEEEEEEE’,0DH,0AH
DB ‘LINE6 FFFFFFFFFFFFFFF’,0DH,0AH,1AH
N = 4
DATA ENDS
CODE SEGMENT
ASSUME CS:
CODE,DS:
DATA
START:
MOV AX,DATA
MOV DS,AX
MOV CX,3
LEA SI,BUF-1
L1:
INC SI
CMP [SI],BYTEPTR0AH
JNZ L1
LOOP L1
MOC DI,SI
L2:
INC SI
CMP [SI],BYTEPTR0AH
JNZ L2
L3:
INC SI
INC DI
MOV AL,[SI]
MOV [DI],AL
CMP AL,1AH
JNZ L3
LEA SI,BUF
PLAY:
MOV DL,[SI]
CMP DL,1AH
JZ EXIT
MOV AH,2
INT 21H
INC SI
JMP PLAY
EXIT:
MOV AH,4CH
INT 21H
CODE ENDS
END START
4. DATA SEGMENT
STR DB ‘ZSDRT5B6AABET45YDB6MM。
/;L8’
C = $-STR
FLGE DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:
CODE,DS:
DATA
START:
MOV AX,DATA
MOV DS,AX
MOV CX,C
LEA SI,STR
MOV FLGE,0
L:
MOV AL,[SI]
CMP AL,‘A’
JNZ NEXT
MOV [SI],BYTEPTR‘B’
MOV FLGE,1
NEXT:
INC SI
LOOP L
CMP FLGE,0
JNZ EXIT
MOV [SI],BYTEPTR‘B’
EXIT:
MOV AH,4CH
INT 21H
CODE ENDS
END START
5. DATA SEGMENT
STR1 DB ‘ZSDRT5B6AABET45YDB6MM。
/;L8’
C1 = $-STR1
STR2 DB ‘ZSDRT5B6AABET45YDB6MM。
/;L’
C2 = $-STR2
N DB ‘NO MATCH!
$’
Y DB ‘MATCH!
$’
DATA ENDS
CODE SEGMENT
ASSUME CS:
CODE,DS:
DATA
START:
MOV AX,DATA
MOV DS,AX
MOV CX,C1
CMP CX,C2
JNZ NOEQ
LEA SI,STR1
LEA DI,STR2
L:
MOV AL,[SI]
CMP AL,[DI]
JNZ NOEQ
INC SI
INC DI
LOOP L
LEA DX,Y
MOV AH,9
INT 21H
JMP EXIT
NOEQ:
LEA DX,N
MOV AH,9
INT 21H
EXIT:
MOV AH,4CH
INT 21H
CODE ENDS
END START
6. DATA SEGMENT
A DB ‘MOV AL,AH’,0DH,0AH
DB ‘SHR AL,CL’,0DH,0AH
DB ‘ADD AL,BL’,0DH,0AH,1AH
B DB ‘MOV AL,AH’,0DH,0AH
DB ‘SHR AL,CL’,0DH,0AH
DB ‘ADD AL,DL’,0DH,0AH,1AH
N DB ‘第’,30H,‘行:
’,0DH,0AH,‘$’
BUF1 DB 100DUP(0)
BUF2 DB 100DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:
CODE,DS:
DATA
START:
MOV AX,DATA
MOV DS,AX
LEA SI,A
LEA DI,B
L:
MOV AL,0
MOV CX,200
LEA BX,BUF1
L0:
MOV [BX],AL
INC BX
LOOP L0
LEA BX,BUF1
MOV DX,0
L1:
CMP [SI],BYTEPTR1AH
JZ EXIT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六章 循环程序设answer 第六 循环 程序 answer