汇编语言期末试卷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