当前位置:文档之家› 全国1月高等教育自学考试汇编语言程序设计试题历年试卷

全国1月高等教育自学考试汇编语言程序设计试题历年试卷

做试题,没答案?上自考365,网校名师为你详细解答!
全国2005年1月高等教育自学考试
汇编语言程序设计试题
课程代码:02321
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填
在题干的括号内。

每小题1分,共16分)
1.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( )。

A.2025∶0F2A
B.2108∶00EA
C.2000∶017A
D.2100∶117A
2.某程序装入内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是( )字节。

A.2K
B.4K
C.8K
D.16K
3.以寄存器DI间接寻址的存储器字节单元内容加1的指令是( )。

A.INC [DI]
B.INC DI
C.INC BYTE PTR[DI]
D.ADD [DI],1
4.有语句:COUNT EQU 256,下列四种叙述中,正确的是( )。

A.COUNT是变量
B.COUNT占用一个字节存储单元
C.COUNT是符号常数
D.COUNT占用二个字节存储单元
5.下面指令中,源操作数的寻址方式为立即寻址的是( )。

A.MOV AX,OFFSET A
B.MOV AX,A
C.MOV AX,A+1
D.MOV AX,A[BX]
6.已知SP=2110H,执行POP AX后,SP寄存器的值是( )。

A.2111H
B.2112H
C.210FH
D.210EH
7.将AX中有符号数除以2的正确指令是( )。

A.SHR AX,1
B.SAR AX,1
C.ROR AX,1
D.RCR AX,1
8.比较BX和SI中的两个存储器地址,若BX≥SI转向HIGH的正确指令是( )。

A.JAE HIGH
B.JBE HIGH
C.JEG HIGH
D.JLE HIGH
9.指令SCASB操作数的段地址一定在( )寄存器中。

A.CS
B.DS
C.ES
D.SS
10.有数据定义语句BUF DW 0ABH,1,10 DUP(3 DUP(1,0),2)汇编后,为变量BUF分配
的存储单元字节数是( )。

A.48H
B.90H
C.120
D.60
11.下列指令执行后,不改变AL寄存器内容的指令是( )。

1
A.AND AL,1
B.CMP AL,DL
C.XOR AL,AL
D.SUB AL,DL
12.执行1号DOS系统功能调用,从键盘输入的字符值存放在( )寄存器中。

A.AL
B.BL
C.CL
D.DL
13.执行下面指令语句,则AX=( )。

MOV AL,95H
CBW
A.0095H
B.0F95H
C.0FF95H
D.9095H
14.将DX,AX中32位数左移一位的指令序列是( )。

A.SHL AX,1
B. RCL AX,1
RCL DX,1 SHL DX,1
C.SHL AX,1
D.RCL AX,1
SHL DX,1 RCL DX,1
15.将CX寄存器低4位清零的正确指令是( )。

A.AND CX,0F0H
B.AND CX,0FFF0H
C.AND CX,1110H
D.MOV CX,0
16.判断AX和BX是否同时为偶数或同时为奇数。

若是转YES的正确指令序列是( )。

A.OR AX,BX
B.XOR AX,BX
AND AX,1 AND AX,1
JE YES JE YES
C.CMP AX,BX
D.SUB AX,BX
AND AX,1 AND AX,1
JE YES JE YES
二、填空题(每空1分,共16分)
1.在8086/8088系统中,存储器物理地址是分段组织的。

堆栈段的段地址存放在_____寄存器中,栈顶数据的偏移地址放在_____寄存器中。

代码段的段地址存放在_____寄存器中。

偏移地址在_____寄存器中。

2.已知DS=29A0H,某数据的物理地址是2A400H,则当DS=6700H时,该数据的物理地址是_____。

3.逻辑运算指令都是按_____操作的,其中_____指令执行后不影响任何标志位,其他指令执行后,标志位_____和_____一定是0。

4.有指令MOV CL,N,要使该指令合法,则N的最大值是_____,最小值是_____。

(用十进制数表示)
5.已知DS=4000H,BX=0100H,SI=0004,(40100H)=28H,(40101H)=69H,(40104H)=10H, (40105H)=9AH,先执行MOV AX,[0100H],AX=_____再执行ADD AX,[BX+SI],AX=_____,CF=_____。

6.有下列数据定义:
AA DW 1,2,3,4,5,6,7
COUNT EQU ($-AA)/2
则COUNT=_____,表示_____。

2
三、简答题(每小题4分,共12分)
1.简述DOS系统功能调用方法,写出在屏幕上显示数字9的指令语句。

2.定义数据段DATA_SEG,数据段中的数据按下列要求依次存储:
(1)第一个字节是整数5
(2)变量BUF,大小为25个字节,初值为0
(3)变量ARRAY,类型为字,初值为12H,56H,78H,0AH
(4)变量MSG存储字符串’yes’
3.假设DS=2000H,BX=0100H,(20100H)=30H,(20101H)=10H
问:(1)执行MOV DX,[BX]DX=_____
执行LEA DX,[BX]DX=_____
(2)简述两条指令区别
四、程序分析题(每小题6分,共24分)
1.设寄存器AX,BX,CX中的内容都是1234H,变量value中的内容为0F0FH,执行下列指令序列:
OR AX,value
AND BX,value
XOR CX,value
则AX=_____,BX=_____,CX=_____
2.MOV AL,5
ADD AL,AL
MOV BL,AL
ADD AL,AL
ADD AL,BL
上述程序段执行后,AL=_____,BL=_____
程序段的功能用数学表达式表示_____
3.NUM DB?
MOV AH,1
INT 21H
CMP AL,39H
JBE NEXT
SUB AL,7
NEXT:SUB AL,30H
MOV NUM,AL
上述程序段运行后,若输入’F’,则(NUM)=_____(用二进制表示)
若’8’,则(NUM)=_____(用二进制表示)
该程序段的功能是_____。

4.有下列数据定义
V A DB 0FFH
VB DB 1,2
VC DW 3456H
执行下列指令序列:
MOV AX,WORD PTR VB+1
3
MOV BL,BYTE PTR VC+1
MOV CL,VB-1
则AX=_____,BL=_____,CL=_____
五、程序填空(每小题6分,共12分,每空格只能填一条指令)
1.下面是一个用地址表法实现多分支的程序段。

根据键盘输入0~4的不同值,实现程序分支。

请将程序段填写完整。

BRANCH_TAB DW R0,R1,R2,R3,R4
·
·
·
MOV BX,OFFSET BRANCH_TAB
MOV AH,1
INT 21H
_____
MOV AH,0
ADD AX,AX
ADD BX,AX
_____;转到相应分支
2.设DX,AX中存放双字有符号数P,DX存放高位字。

BX,CX中存放双字有符号数Q,BX存放高位字。

下列程序完成P与Q比较大小操作。

当P≥Q时,使AX=1
P<Q时,使AX=2
将程序填写完整:
CMP DX,BX
JL L2
_____
CMP AX,CX
_____
L1:MOV AX,1
JMP EXIT
L2:MOV AX,2
EXIT:
六、程序设计题(第1小题6分,第2小题14分,共20分)
1.按下列要求编写一个子程序:
子程序名:ABSOLT
功能:求两数和的绝对值
输入参数:AX存放一个加数
BX存放另一个加数
输出参数:AX存放和的绝对值
2.已知在以ARRAY为首地址的数据区中存放10个带符号字数据:
ARRAY DW,1,2,-1,3,4,-2,-3,4,5,-6
编程将ARRAY分成两个数组:正数数组P_ARY和负数数组N_ARY,并分别显示正数项
4
个数和负数项个数。

要求:源程序格式完整。

5。

相关主题