汇编语言期末试卷A卷及答案
- 格式:pdf
- 大小:121.03 KB
- 文档页数:8
汇编语⾔期末试卷A卷及答案
浙江理⼯⼤学2011—2012学年第 1 学期
《汇编语⾔A》期末试卷(A)卷
班级:学号:姓名:
⼀、单项选择题(在每⼩题的四个备选答案中,选择⼀个正确答案填在提⼲后的括号内,每⼩题2分,共30分)1.下⾯表⽰段定义结束的命令是( )
A. ENDP
B. ENDS
C. ENDM
D. END
2.8086CPU在基址变址寻址⽅式中,基址寄存器可以是( )
A. AX或CX
B. BX或BP
C. SI或BX
D. DX或DI
3.执⾏CALL FAR PTR SUB1指令后,在堆栈区域中应( )
A.压⼊4个字节的内容B.弹出4个字节的内容
C.压⼊2个字节的内容D.弹出2个字节的内容
4.完成将累加器AL清零,并使进位标志CF清零, 下⾯错误的指令是( )
A. MOV AL, 00H
B. AND AL, 00H
C. XOR AL, AL
D. SUB AL, AL
5.完成同指令XCHG AX,BX相同功能的指令或指令序列是( )
A.MOV AX, BX
B. PUSH AX POP BX
C. MOV BX, AX
D. MOV CX, AX MOV AX, BX MOV CX, AX
6.⼗进制数- 115⽤16位补码表⽰是()
A.F115H B.F073HC.FF8DH D.FF73H
7.指令指针寄存器是()
A. IP
B. SP
C. BP
D. PSW8.指令JMP WORD PTR [BX][SI]属于()
A..寄存器间接寻址B.相对基址变址寻址
C.段内间接寻址D.段间间接寻址9.下列传送指令中有语法错误的是( )
A. MOV CS, AX
B. MOV DS, AX
C. MOV SS, AX
D. MOV ES, AX
10.执⾏下列程序,设(SS)=2000H,AL中的数据在内存地址___________中( )
MOV SP, 3000H
MOV AX, 1234H
PUSH AX
┅
A. 23000H
B. 22FFCH
C. 22FFEH
D. 22FFFH
11.逻辑移位指令SHR⽤于
A. 带符号数乘 2
B. 带符号数除 2
C. ⽆符号数乘 2
D. ⽆符号数除 2
12.若⽤数据定义伪指令定义数据:BUF DB 4 DUP(0,2 DUP(1,0)), 问:定义后,存储单元中有数据0100H的字单元个数是( )
A. 4
B. 3
C. 8
D. 12
13.执⾏下列指令后:( )
STR1 DW ‘AB’
STR2 DB 14 DUP(?)
CNT EQU $ - STR1
MOV CX,CNT
MOV AX,STR1
则寄存器CL的值是A. 10HB. 12H
C. 0EH
D. 0FH
14.上题中,指令执⾏后,寄存器AX的值是( )
A. 00ABH
B. 00BAH
C. 4142H
D. 4241H
15.与MOV BX,OFFSET V AR指令完全等效的指令( )
A. MOV BX, V AR
B. LDS BX, V AR
C. LEA BX, VAR
D. LES BX, V AR
⼆、简答题(每⼩题4分,共20分)1. 简述汇编语⾔的上机过程
2.在指令系统中,段内、段间返回均为RET指令。
试回答:(1)执⾏段内返回RET指令时,执⾏的操作是:
(2)执⾏段间返回RET指令时,执⾏的操作是:3. 完成下列操作,选⽤什么指令:
(1)将AL的内容,加上52H和上次运算的进位;
(2)将变量名TABLE的段地址送BX;4.当中断发⽣时,由中断机构⾃动完成哪些动作?(中断过程)
5. .试编写宏定义,找出3个字节数据(DA1、DA2、DA3)中的最⼩数,结果存放到MIN单元
三、程序分析题(每⼩题6分,共24分)1.设寄存器AL,BL,,CL中内容为53H
XOR AL,0FH
AND BL,0FH
OR CL,0FH
执⾏上述指令序列后,AL=()BL=()
CL=()
2.现有程序段如下:
DATA SEGMENT ARRAY DW 5,67,8
ORG 0020H BASUB EQU ARRAY - BUFF BUFF DB 6,5,’78’DATA ENDS
请回答:(1)该数据段已占有的存储字节数是多少?(2)BASUB的值是多少?3.现有程序段如下:
MOV CX,31H DON:ADD AX,BX
MOV AX,2 ADD BX,2
MOV BX,4 LOOP DON
请回答:(1)该程序完成的功能是什么?
(2)程序执⾏后,(AX)=4.分析下⾯的程序,回答指定的问题:
A1 DB 10 DUP(?)
A2 DB 0,1,2,3,4,5,6,7,8,9
…
MOV CX,LENGTH A1
MOV SI,SIZE A1 – TYPE A1
LOP:MOV AL,A2[SI]
MOV A1[SI],AL
SUB SI,TYPE A1
DEC CX
JNZ LOP
请问:(1)该程序执⾏后,A1单元开始的10个字节的内容是什么?
(2)该程序完成的功能是什么?
四.程序填空题(12分,注意:每空只能填⼀条指令,每空2分)1.在以BUF为⾸址的字节单元中,存放了COUNT个⽆符号数, 下⾯程序完成的是找出最⼤数并送⼊MAX单元,请在空格处填上指令使程序完整。BUF DB 5,6,7,58H,62,45H,127……LOOP: INC BX
COUNT EQU $-BUF CMP AL,[BX]
MAX DB ? (1)
┆(2)
MOV BX,OFFSET BUF NEXT: DEC CX
MOV CX,COUNT-1 (3)
MOV AL,[BX] MOV MAX,AL
2.下⾯程序完成的是两个⽆符号数的相乘,但采⽤重复相加的⽅法实现。请在空格处填上指令,使程序完整。
DATA SEGMENT AV1:XOR AX,AX
DA1 DB 5AH MOV CH,0
DA2 DB 26H AV2:
DA3 DW ?(5)
DATA ENDS ADC AH,0………
MOV BL,DA1 (6)
MOV CL,DA2 MOV DA3,AX
CMP CL,BL HLT
(4)
XCHG CL,BL
五、编制程序题(14分)1.编写程序段计算:(Z-X*Y+540)/X,其中X、Y、Z、均为16位带符号数,已分别装⼊X、Y、Z、单元中,要求上式计算结果的商存⼊AX、余数存⼊DX寄存器.(勿须写出源程序格式,只须写出指令序列,本⼩题6分).2. 设有10个学⽣的成绩分别是76,69,84,90,73,88,99,63,100和80分。试编制⼀个汇编语⾔程序统计
60~69分,70~79分,80~89分,90~99分和100分的⼈数,分别存放到S6,S7,S8,S9和S10单元中(要求写出完
整的汇编语⾔程序,本⼩题8分)。
浙江理⼯⼤学2009—2010学年第 1 学期
《汇编语⾔A》期末试卷(B)卷标准答案和评分标准
⼀、单项选择题(答对⼀题2分)1.B
2.B
3.A
4.A
5.D
6.C
7.A
8.C
9.A 10.C 11.D 12.C 13.A 14.C 15.C
⼆、简答题1.(1)⽤编辑软件(例如:EDIT)编辑扩展名为.ASM的汇编语⾔源程序(1分)
(2)⽤汇编程序MASM汇编源程序产⽣⽬标⽂件扩展名为.OBJ(1分)(3 ) ⽤连接程序LINK连接⽬标程序产⽣可执⾏⽂件,扩展名为.EXE(1分)
(4 ) ⽤DOS命令直接键⼊⽂件名运⾏该可执⾏程序,或进⼊DEBUG运⾏(1分)
2.(1 ) ((SP)+1,(SP))→IP 也可以写为栈顶内容→IP , SP+2→SP
或IP←POP( )(2分)(2 ) 栈顶内容→IP , SP+2→SP
栈顶内容→CS , SP+2→SP
或IP←POP( ),CS←POP( ) (2分)3. (1 ) ADC AL, 52H(2分)
(2 ) MOV BX, SEG TABLE(2分)4. 当中断发⽣时,由中断机构⾃动完成哪些动作?(中断过程)
取中断类型号、标志寄存器内容⼊栈(1分)、当前代码段寄存器⼊栈、前指令计数器⼊栈(1分)、禁⽌硬件中断和单步中断、从中断向量表中取4×N的字内容送IP及4*N+2中的字内容送CS、转中断处理程序(2分)。5. SEND MACRO DA1, DA2,DA3,MIN
LOCAL NEXT, EXIT
MOV AL,DA1
MOV BL,DA2
MOV CL,DA3
CMP AL,BL
JLE DON1
MOV AL,BL
DON1:CMP AL, CL
JLE DON2
MOV AL,CL
DON1:MOV MIN,AL
ENDM(4分)
三、程序分析题1.AL=5CH (2分)BL=03H(2分)CL=5FH(2分)
2.(1)共占⽤10个字节(3分)(2)BASUB=4(3分)
3.(1)实现2+4+6+……+100(3分)(2)AX=09F6H或2550(3分)4.(1)0,1,2,3,4,5,6,7,8,9(3分)
(2)将A2单元开始的10个数据传送到A1开始的10个字节单元中(3分)
四、1.(1)JGE NEXT;(2)MOV AL,[BX];(3)JNZ LOOP2.(4)JBE AV1;(5)ADD AL,BL;(6)LOOP AV2
五、1.MOV AX,XIMUL Y
MOV CX,AC
MOV BX,DX
MOV AX,Z
CWD
SUB CX,AX
SBB BX,DX
ADD CX,540
ADC BX,0
MOV AX,CX
MOV DX,BX