张银行11级汇编语言程序设计(A)答案

  • 格式:doc
  • 大小:46.50 KB
  • 文档页数:7

课程测试试题( A卷)
I、命题院(部):物理与机电工程学院
II、课程名称:汇编语言程序设计
III、测试学期:2012 -2013 学年度第1学期
IV、测试对象: 电科1、电科2 专业 2011级
V、问卷页数(A4):6 页
VI、答卷页数(A4):4 页
VII、考试方式: 闭卷 (开卷、闭卷或课程小论文,请填写清楚)
VIII、问卷内容:(请老师在出题时安排紧凑,填空题象征性的留出一点空格,学生将所有
的答案做在答题纸上的规定位置,并写清楚大题、小题的题号)
一、填空题:(每空1分,共20分)
1、8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是__DS______、
____SS____、_____CS___、__ES____。
2、 用来指示堆栈栈顶的偏移地址的是 SP 寄存器。
3、DB、DD伪指令中定义的每个操作数分别占__1__、__4__字节。。
4、十进制数369转换成8位二进制数为01110001B________,转换成对应的十六进制数为
__71H________。
5、存储器某单元的地址表示为2314H:4132H,则它的偏移地址=__4132H_______,物理
地址=__27272H________。
6、判断无符号数运算是否溢出应根据 CF 标志位;而判断有符号数运算是否溢出应

据 OF 标志位。
7、ADD是一条双操作数指令,即一条指令有源操作数和目的操作数。例如指令 ADD OPR1,
OPR2中的源操作数是 OPR2 ,目的操作数是 OPR1 。

二、选择题(每题2分,共40分)
1、CPU发出的访问存储器的地址是( )

A.偏移地址 B.物理地址 C.逻辑地址 D.段地址
0011 0101 0000 0000
0101 0110 1011 1000
2、若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( A )
A. 1400H B. 77F8H C. 0000H D. 0FFFFH
3、在DEBUG工具中,显示寄存器内容的命令是( )。
A. G B. D C. T D. R
4、BUF DW 10H DUP(3 DUP(2,10H),3,5)
上述语句汇编后,为变量BUF分配的存储单元字节数是( )。
A、80H B、124 C、100H D、192
5、LOOP指令隐含使用并用作循环记数器的是哪一个寄存器( )。
A、CX B、BX C、AL D、SI
6、已知(DS)=2000H,(BX)=1256H,(SI)=528FH,则执行指令JMP BX后,IP寄存器的内容
是( )。
A. 1256H B. 2000H C. 3256H D. 528FH
7、8088/8086存储器分段,每个段不超过( )
A.64K个字 B.32k个字节
C.64k个字节 D.1兆个字节
8、如果当前(SP)=0058H,执行POP AX指令后,(SP)=( )
(A)60H (B)56H
(C)59H (D)5AH
9、LOOP指令所使用的计数器是哪一个寄存器( A )
(A)CX (B)CL

(C)BX (D)DX
10、要使串处理从低地址向高地址进行,应把标志位置为 (D )
A.IF=1 B.TF=0
C.DF=1 D.DF=0
11、CF=1 时转移到目标地址的条件转移指令是 (B )
A.JNC B.JC C.JZ D.JS
12、语句DA1 DB 2 DUP(3,5,7)汇编后,该语句可等同于的语句是 (D )
A.DA1 DB 3,5,7
B.DA1 DB 2,3,5,7
C.DA1 DB 3,5,7,2
D.DA1 DB 3,5,7,3,5,7
13、假定(DS)=4000H,(DI)=0100H,(401OOH)=55H,(40101H)=AAH,试问执行指令LEA BX,[DI]
后,(BX)= (A )
A.0100H B.55AAH
C.AA55H D.4100H
14、设数据定义如下:
ARRAY DW 1,2,3
执行指令ADD SI,TYPE ARRAY相当于完成下面同等功能的指令是 (B )
A.ADD SI,1 B.ADD SI,2
C.ADD SI,3 D.ADD SI,0
15、一个8位二进制数的补码为1000 1010,其原码的16进制形式为 C
A.-0AH B.-75H C.-76H D.8AH
16、段内调用时CALL指令将_B__保存进栈,以供过程返回时使用。
A.CS B.IP C.CS:IP D.SS:SP
17、如果在源程序中定义了一个变量VA1,下列指令中,哪些指令一定能够获取该变量的

偏移量并保存到SI寄存器中( C)
(A)MOV SI,VA1 (B)LDS SI,VA1 (C)LEA SI,VA1
(D)LES SI,VA1
18、指令“DAA”的操作数隐含在寄存器( D )中:
(A)AX (B)AH (C)DX (D)AL
19、补码10010101所表示的10进制数是( C ):
(A)-117 (B)107 (C)-107 (D)-121
20、有符号数AX除以2的指令是 ( B )
A.SHR AX,1 B.SAR AX,1 C.ROR AX,1 D.RCR AX,1
三、 程序分析与设计
1、阅读程序回答问题(共6分)
MOV AL,0B6H

MOV CX,0402H
XOR BL,BL
L1: ROL AL,CL
ADC BL,0
DEC CH
JNZ L1
执行该程序片段后:
(AL)= 0B6H (3分)
CF = 0 (2分)
ZF = 1 (2分)
2、判断下列指令是否正确,如果错误则说明理由。(共10分)
1.MOV ES,0F98H
错误,不能传递立即数给DS寄存器

2.POP AH
错误,POP指令的操作数必须为16位
3.NOP
正确
4.SHL AX,BL
错误,移位次数必须使用CL寄存器给出
5.MUL CL,DL
错误,MUL指令为单操作数指令
3、阅读程序回答问题(共4分)
MOV AX,0F0FH
AND AX,0FFFH
OR AX,0F0FH
XOR AX,00FFH
上述程序段运行后,AX= 0FF0H ,CF= 0
4、阅读下面的程序片段,并分析程序功能与指定寄存器的用途。(共7分)
DATA SEGMENT
DAT1 DB -53,63,-78,23,48,62,-37,80
LEN EQU $-DAT1
DATA ENDS
„„
CODE SEGMENT
„„
MOV BX,OFFSET DAT1
MOV CX,LEN
XOR AL,AL

L1: TEST [BX],80H
JZ L2
INC AL
L2: INC BX
LOOP L1
„„
CODE ENDS
该程序片段的功能为 统计数组中负数的数量 (3分)
AL寄存器的用途为 AL用作统计负数个数 (2分)
CX寄存器的用途为 CX用作循环计数器 (2分)
四、简答题(8分)
1、给立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、变址寻址、基址加变址寻址
等寻址方式举一个具体的指令实例。
五、程序设计题(共10分)
将BUFF1开始的存储区中的20个字节的数据传送到BUFF2开始的存储区中, 且不考虑数据
块的重叠问题。
DATA SEGMENT
BUFF1 DB0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
DB13, 14, 15, 16, 17, 18, 19
BUFF2 DB20DUP(? )
DATA ENDS
CODE SEGMENT
ASSUMECS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV CX, 20

LEA SI, BUFF1
LEA DI, BUFF2
CYCLE: MOV AL, [SI]
MOV [DI], AL
INC SI
INC DI
LOOP CYCLE
MOV AH, 4CH
INT 21H
CODE ENDS
END START