第四章顺序程序设计.docx
《第四章顺序程序设计.docx》由会员分享,可在线阅读,更多相关《第四章顺序程序设计.docx(20页珍藏版)》请在冰豆网上搜索。
第四章顺序程序设计
第四章顺序程序设计
练习题
4.4.1单项选择题
1.设计一个程序,最重要的是()。
A•程序的结构化B.能使程序正常运行和实现功能
C.程序的执行速度快D.程序占用的存储空间少
2.下列描述中正确的是()。
A.在汇编语言编程中,必须有数据段和代码段
B.在汇编语言编程中,数据可以安排在代码段
C.在汇编语言编程中,必须分别完整的定义数据段、代码段、堆栈段和附加段
D.在汇编语言编程中,必须采用过程的形式编写程序
3.下列不属于程序设计基本步骤的是()。
A.提出程序完成的功能、目的、要求
B.分析问题,抽象出描述问题的数学模型
C.确定解决问题的算法或算法思想
D.分配存储空间,工作单元及相应的寄存器
4.顺序程序的执行,在程序中()。
A.有转移指令B.有循环程序段
C.指令是顺序逐条执行的D.是根据条件分支执行的
5.在顺序程序的设计中,流程图的作用是非常有用的。
下列几种说法不正确的是()
A.安排程序执行的先后顺序
B.明确程序先做什么,后做什么
C.合理的使用指令
D.可以节省内存空间
6.在设计顺序程序时,要正确使用好两种语句的功能,它们分别是()。
A.分支语句和循环语句B.指令语句和伪指令语句
C.顺序语句和非顺序语句D.过程定义语句和控制语句
7.汇编语言程序设计的流程图是非常有用的,它的每一执行框表明了整个程序中的某一段程序或某一功能块,而整个程序有()。
A.一个入口一个出口B.一个入口多个出口
C.多个入口一个出口D.多个入口多个出口
8.在顺序程序设计中,不可能使用的指令是()。
A.数据传送指令B.算术运算指令C.转移指令D.逻辑运算指令
9.在顺序程序设计的流程图中,不包含()。
A.开始框B.执行框C.判断框D.结束框
10.在程序设计过程中,不会影响程序的长度的是()。
A.确定解决问题的算法B.上机调试
C•分配存储空间D.编写程序
4.4.2多项选择题
1.在下列的选项中,不能作为名字的是()。
A.AXB.OABHC.ABD.ADD
2.在下列的选项中,属于指令性语句的有()。
A.MOVAX,BXB.STRDB3
C.WORDPTRAD.IN
3.在下列指令中,将内存某一单元的偏移地址送
A.MOVBX,OFFSETAB.MOV
C.LEABX,AD.LEA
4.数值表达式的运算符有()。
A.算术运算符B.逻辑运算符
5.地址表达式的运算符有()。
A.算术运算符B.逻辑运算符
6.不能分配内存单元的伪指令(伪操作)有(
A.等值语句B.等号语句
AX,80H
BX寄存器的有()
BX,OFFSET[SI]
BX,[SI]
C.关系运算符
D.属性运算符
C.关系运算符
D.属性运算符
)。
C.数据定义语句D.段定义语句
7.定义段是由下列的哪些语句组成的?
8.在段的定义中,如果要将该段定位在能被16整除的地址开始,定位方式应选()
A.BYTEB.WORDC.PARAD.PAGE
9.在下列的选项中,属于宏指令的格式有()。
A.PMICROB.PMICROA,B
ENDMENDM
C.PMICROB.PMICROA,B
II
II
II
PENDMENDS
10.在汇编语言程序设计中,上机调试程序时除了在计算机中有DOS和编辑器外,在计算机
中还应该有()。
A.MASMB.LINKC.DEBUGD.WINDOWS
4.4.3填空题
1.用汇编语言编写程序,除了要求程序能正常运行和实现预定的功能外,还必须满足程序要结构化,执行的速度要,占用的内存空间要。
2.编写结构化程序的目的是为了使程序简明、和。
3.流程图一般由种框组成,在顺序程序的流程图中,一般使用框,框和
框。
4.无分支,无转移,无循环的程序结构称为程序。
5.在程序设计过程中,确定解决问题的算法,合理地选择存储空间及工作单元能目标
程序的长度。
6.在汇编语言程序中,“MOVAX,DATA”和“MOVDS,AX”指令是要将送DS。
7.对同一问题,如果解决问题的算法不相同,则编写的源程序。
8.在汇编语言源程序中,通常用“MOVAH,4CH”和“INT21H”实现DOS返回,其中
的4CH为号,21H为号。
9.在汇编语言源程序中,“END表达式”表示。
而其中的表达式表示程序运行时的
10.基本的程序设计方法有顺序程序设计、、和子程序设计
4.4.4程序分析题。
1.现有程序如下:
DATASEGMENT
ADW1234H
BDW5678H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOV
DS,AX
MOV
AX,A
XCHG
AX,B
MOV
A,AX
MOV
AH,4CH
INT
21H
CODEENDS
END
START
请回答:
(1)该程序完成什么功能?
(2)程序运行后A和B中的值各为多少?
2.现有程序如下:
(注:
限于篇幅,下列的程序不再列出公共部分,只列出程序中的主要部分。
)
XDB13
YDB5
ZDB0
MOVAL,X
ADDAL,Y
MOVCL,2SALAL,CL
MOVZ,AL
请回答:
(1)该程序完成什么功能?
(2)程序运行完后,Z中的内容为何值?
(3)若Y中的初值为65H,程序运行完后会出现什么现象?
3.现有程序如下:
BUF1
DB33H
BUF2
DB35H
BUF3DB0
MOV
AL,BUF1
AND
AL,0FH
MOV
BL,BUF2
AND
BL,0FH
MOV
CL,4
SHL
AL,CL
OR
AL,BL
MOV
BUF3,AL
请回答:
(1)该程序完成什么功能?
(2)程序运行后(BUF3)=
4.现有程序如下:
ADB56H
BDB0
CDB0
MOV
AL,A
AND
AL,0FH
ADD
AL,30H
MOV
B,AL
MOV
AL,A
MOV
CL,4
SHR
AL,CL
ADD
AL,30H
MOV请回答:
C,AL
(1)该程序完成什么功能?
2)程序运行后B和C中的内容各为多少?
TAB
DB
1,2,4,8,10H,
X
DB
?
Y
DB
0
5.现有程序如下:
20H,40H,80H,90H,0A0H,
0C0H
MOV
AL,X
LEA
BX,TAB
XLAT
MOV
Y,AL
请回答:
(1)该程序完成什么功能?
(2)若(X)=5,该程序执行完后,(Y)=
6.现有程序如下:
X
DW100
Y
DW20
Z
DW0
MOV
AX,X
SUB
AX,Y
MOV
CL,4
SAL
AX,CL
ADD
AX,20
SAR
AX,1
MOV
Z,AX
请回答
:
(1)该程序完成什么功能?
(2)程序运行完后Z中的内容为多少?
7.现有程序如下:
ADB120
BDB30
CDW0
MOV
AL,A
ADD
AL,5
CBW
IDIV
B
MOV
C,AX
请回答:
(
1)该程序完成什么功能?
2)程序运行后C中的内容为何值?
(3)C中的高低字节各是什么值?
8.现有程序如下:
ADB12H
BDB56H
CDB0
MOV
AL,A
ADD
AL,B
MOV
BL,A
AND
BL,B
SAL
BL,1
SUB
AL,BL
MOV
C,AL
请回答:
(1)该程序完成什么功能?
(2)程序运行后,C中的内容为何值?
9.现有程序如下:
A
DB
10H
B
DB
20H
C
DW
30H
D
DW
2DUP(0)
MOV
AL,
A
MUL
B
ADD
AX,
5
MOV
BX,
C
SUB
BX,
6
CWD
DIV
BX
MOV
D,AX
MOV
D+2,
DX
请回答:
(1)该程序完成什么功能?
(2)程序运行后,D和D+2中的值各为多少?
10.现有程序如下:
BUF1
DB
12H,
34H
BUF2
DB
35H,
36H
BUF3
DB
2DUP
(0)
MOV
AL,BUF1+1
ADD
AL,BUF2+1
MOV
AH,BUF1
ADC
AH,BUF2
MOV
BUF3,AX
请回答:
(1)该程序完成什么功能?
2)BUF3中两个单元中的内容依次是多少?
11.现有程序如下:
BUF1
DB
12H,
34H
BUF2
DB
35H,
36H
BUF3
DB
2DUP(0)
MOVAL,BUF1+1
ADDAL,BUF2+1
DAA
MOVBUF3+1,AL
MOVAL,BUF1
ADCAL,BUF2
DAA
MOVBUF3,AL
请回答:
(1)该程序完成什么功能?
(2)BUF3中两个单元中的值依次是多少?
12.现有程序如下:
A
DB
35H,37H
B
DB
34H,
32H
C
DB
0
MOV
AL,
A
ADD
AL,
B
AAA
MOV
BL,
AL
MOV
AL,
A+1
ADC
AL,
B+1
AAA
MOV
AH,
AL
MOV
AL,
BL
AAD
MOVC,AL
请回答:
(1)该程序完成什么功能?
(2)C中的内容为何值?
13.现有程序如下:
BUF1
DB38H,
33H
BUF2
DB35H,
37H
MOV
AL,A+1
SUB
AL,B+1
AAS
MOV
DH,AL
MOV
AL,A
SBB
AL,B
AAS
ADD
AL,30H
MOV
DL,AL
MOV
AH,2
INT
21H
MOV
DL,DH
ADD
DL,30H
MOV
AH,2
INT
21H
请回答:
(