第五章 分支程序设计Word格式文档下载.docx
《第五章 分支程序设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《第五章 分支程序设计Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。
A.结果溢出
B.结果为0
C.结果为奇
D.结果为负
7.当两个无符号数进行比较时,执行“JA L”指令表示(
A.CF=0且ZF=0
B.CF=0且ZF=1
C.CF=1且ZF=0
D.CF=1且ZF=1
8.当“CMP AX,BX”比较时,执行“JG L”指令后转移列L,则表明(
A.AX>BX
B.AX=BX
C.AX<BX
D.AX≥BX
9.如果0100H单元存放条件转移指令的操作码,0101H单元存放条件转移指令的相对位移量13H,那么转移后的指令的偏移地址为(
A、0102H
B、0113H
C、0115H
D、00FEH
10.下列叙述不正确的是(
A.有符号数比较后的条件转移指令可采用JG、JL、JGE和JLE指令。
B.无符号数比较后的条件转移指令可采用JA、JB、JNE和JBE指令。
C.有符号数比较后判断溢出用JO和JNO指令。
D.无符号数比较后判断溢出用JS和JNS指令。
5.4.2
多项选择题
1.分支程序结构的形式有(
A.单分支结构
B.双分支结构
C.多分支结构
D.无分支结构
2.在分支结构的程序中,分支程序的流程一般有(
A.判断转移框
B.循环框
C.产生条件框
D.分支程序段框
3.在下列的选项中,可以用来产生条件的选项有(
A.数据传送指令B.算术运算指令
C.逻辑运算指令D.转移指令
4.在多分支程序设计中,常用的方法有(
A.地址表法
B.计数法
C.转移表法
D.逻辑分解法
5.执行完指令“CMP
AX,100”后,如果要实现AX寄存器中的无符号数高于100则转移到L,应该使用的指令有(
A.JNS
L
B.JNC
C.JA
D.JNBE
L
6.执行完指令“CMP
AX,0”后,如果要实现AX寄存器中的内容为正数则转移到L,应该使用的指令有(
A.JAE
B.JGE
C.JNS
D.JNC
L
7.如果用“JS
P”指令实现AX寄存器中的内容为负数转移,产生条件的指令可用(
A.AND
AX,8000H
B.CMP
AX,8000H
C.TEST
D.CMP
AX,0
8.如果用要判断AX寄存器中的内容为100H则转移到P,如下的选项有(
A.CMP
AX,100H
B.SUB
AX,100H
JZ
P
JE
P
C.AND
D.XOR
9.设AX寄存器中的内容为有符号数,如果用要判断AX寄存器中的内容小于100H则转移到P,如下的选项有(
JL
JNG
C.CMP
D.SUN
JNGE
JNAE
10.如果在TAB字单元中存放的是某程序的入口地址,要转移到该程序的的选项有(
A.LEA
BX,TAB
B.MOV
BX,0
JMP
BX
TAB[BX]
C.JMP
TAB
D.JMP
DWORDPTR[TAB]
5.4.3
填空题
1.当两个有符号数相减后,若要判断大于等于则转、需用 、 或
指令。
2.在分支程序的结构中,其流程图一般由 、 、定向和 四个部分组成。
3.转移表法分支程序设计中,其程序转移表中存放的是 。
4.地址表法分支程序设计中,其地址表中存放的是 。
5.逻辑分解法程序设计一般是利用多条 指令实现多分支程序设计的。
6.条件转移指令是分支程序设计中最常用的指令之一,这类指令大体上可以分为三种,它们是 条件转移, 条件转移和 条件转移指令。
7.条件转移指令的执行,是当条件 时则转移。
8.在执行条件转移指令前,必须要执行产生条件码的指令,然后才能进行条件判断转移,而一般的数据传送指令 影响条件码(标志位)。
9.当两个数进行比较后,执行 指令表示结果为零转L。
10.为了实现程序的多路分支,通常使用 、 和 三种方法的分支程序设计方法。
5.4.4
程序分析题
1.现有程序如下:
DATA
SEGMENT
X
DB
0ABH
FLAG
0
DATA
ENDS
CODE
ASSUME CS:
CODE,DS:
DATA
START:
MOV
AX,DATA
DS,AX
MOV
AL,X
CMP
AL,0
JGE
FLAG,0
JMP
EXIT
L:
MOV
FLAG,1
EXIT:
AH,4CH
INT
21H
CODE
END
START
请回答:
(1)该程序完成什么功能?
(2)程序执行完后FLAG中的内容是多少?
2.现有程序如下:
DATA
BUF
DB
CODE
ASSUME CS:
DS,AX
AH,1
CMP
AL,61H
JB
N
AL,7AH
JA
SUB
AL,20H
N:
BUF,AL
(2)如果要将“CMP AL,7AH”改为“CMP AL,7BH”,则相应的指令
“JA N”应改为什么指令?
3.现有程序如下:
A
23
B
0F0H
C
AL,A
AL,B
JZ
JG
M
C,-1
JMP
C,0
M:
C,1
(2)程序运行后,C中的内容是什么?
4.现有程序如下:
DW
7000H
Y
9000H
AX,X
AX,Y
JO
DL,‘N’
DL,‘Y’
EXIT:
AH,2
INT
请回答:
(1)请程序完成什么功能?
(2)程序执行完后,显示输出的结果如何?
5.现有程序如下:
BUF1
‘ABCDAC’
C1
=
$-BUF1
BUF2
‘C’
BUF3
DW
CODE
ES,AX
LEA
DI,BUF1
CX,C1
AL,BUF2
CLD
REPNE
SCASB
JNZ
MOV AH,2
INT 21H
DEC
DI
BUF3,DI
INT
END
(2)程序运行后,BUF3中的内容是什么?
显示输出是什么?
6.现有程序如下:
BUF
23,125,96
ASSUMECS:
SI,BUF
AL,[SI]
BL,[SI+1]
CL,[SI+2]
AL, BL
JAE
N1
XCHG
N1:
AL, CL
JAE
N2
N2:
BL, CL
JAE
N3
N3:
[SI], AL
[SI+1], BL
[SI+2], CL
AH, 4CH
END
(2)程序运行后BUF中的内容依次是什么?
7.现有程序如下:
DATA
4FH
2DUP(0)
CL,4
SHR
AL,CL