浙江理工大学2011—2012学年第 1 学期《汇编语言A》期末试卷(A)卷班级:学号:姓名:一、单项选择题(在每小题的四个备选答案中,选择一个正确答案填在提干后的括号内,每小题2分,共30分)1.下面表示段定义结束的命令是( )A. ENDPB. ENDSC. ENDMD. END2.8086CPU在基址变址寻址方式中,基址寄存器可以是( )A. AX或CXB. BX或BPC. SI或BXD. DX或DI3.执行CALL FAR PTR SUB1指令后,在堆栈区域中应( )A.压入4个字节的内容B.弹出4个字节的内容C.压入2个字节的内容D.弹出2个字节的内容4.完成将累加器AL清零,并使进位标志CF清零, 下面错误的指令是( )A. MOV AL, 00HB. AND AL, 00HC. XOR AL, ALD. SUB AL, AL5.完成同指令XCHG AX,BX相同功能的指令或指令序列是( )A.MOV AX, BXB. PUSH AX POP BXC. MOV BX, AXD. MOV CX, AX MOV AX, BX MOV CX, AX6.十进制数- 115用16位补码表示是()A.F115H B.F073H C.FF8DH D.FF73H7.指令指针寄存器是()A. IPB. SPC. BPD. PSW8.指令JMP WORD PTR [BX][SI]属于()A..寄存器间接寻址 B.相对基址变址寻址 C.段内间接寻址 D.段间间接寻址9.下列传送指令中有语法错误的是( )A. MOV CS, AXB. MOV DS, AXC. MOV SS, AXD. MOV ES, AX10.执行下列程序,设(SS)=2000H,AL中的数据在内存地址___________中( )MOV SP, 3000HMOV AX, 1234HPUSH AX┅A. 23000HB. 22FFCHC. 22FFEHD. 22FFFH11.逻辑移位指令SHR用于A. 带符号数乘2B. 带符号数除2C. 无符号数乘2D. 无符号数除212.若用数据定义伪指令定义数据:BUF DB 4 DUP(0,2 DUP(1,0)), 问:定义后,存储单元中有数据0100H的字单元个数是( )A. 4B. 3C. 8D. 1213.执行下列指令后:( )STR1 DW ‘AB’STR2 DB 14 DUP(?)CNT EQU $ - STR1MOV CX,CNTMOV AX,STR1则寄存器CL的值是A. 10HB. 12HC. 0EHD. 0FH14.上题中,指令执行后,寄存器AX的值是( )A. 00ABHB. 00BAHC. 4142HD. 4241H15.与MOV BX,OFFSET VAR指令完全等效的指令( )A. MOV BX, VARB. LDS BX, VARC. LEA BX, VARD. LES BX, VAR二、简答题(每小题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中内容为53HXOR AL,0FHAND BL,0FHOR CL,0FH执行上述指令序列后,AL=()BL=()CL=()2.现有程序段如下:DATA SEGMENT ARRAY DW 5,67,8ORG 0020H BASUB EQU ARRAY - BUFF BUFF DB 6,5,’78’ DATA ENDS请回答:(1)该数据段已占有的存储字节数是多少?(2)BASUB的值是多少?3.现有程序段如下:MOV CX,31H DON:ADD AX,BXMOV AX,2 ADD BX,2MOV 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 A1MOV SI,SIZE A1 – TYPE A1LOP:MOV AL,A2[SI]MOV A1[SI],ALSUB SI,TYPE A1DEC CXJNZ LOP请问:(1)该程序执行后,A1单元开始的10个字节的内容是什么?(2)该程序完成的功能是什么?四.程序填空题(12分,注意:每空只能填一条指令,每空2分)1.在以BUF为首址的字节单元中,存放了COUNT个无符号数, 下面程序完成的是找出最大数并送入MAX单元,请在空格处填上指令使程序完整。
BUF DB 5,6,7,58H,62,45H,127……LOOP: INC BXCOUNT EQU $-BUF CMP AL,[BX]MAX DB ? (1)┆(2)MOV BX,OFFSET BUF NEXT: DEC CXMOV CX,COUNT-1 (3)MOV AL,[BX] MOV MAX,AL2.下面程序完成的是两个无符号数的相乘,但采用重复相加的方法实现。
请在空格处填上指令,使程序完整。
DATA SEGMENT AV1:XOR AX,AXDA1 DB 5AH MOV CH,0DA2 DB 26H AV2:DA3 DW ?(5)DATA ENDS ADC AH,0………MOV BL,DA1 (6)MOV CL,DA2 MOV DA3,AXCMP 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.B2.B3.A4.A5.D6.C7.A8.C9.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,MINLOCAL NEXT, EXITMOV AL,DA1MOV BL,DA2MOV CL,DA3CMP AL,BLJLE DON1MOV AL,BLDON1:CMP AL, CLJLE DON2MOV AL,CLDON1:MOV MIN,ALENDM(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 YMOV CX,ACMOV BX,DXMOV AX,ZCWDSUB CX,AXSBB BX,DXADD CX,540ADC BX,0MOV AX,CXMOV DX,BXIDIV X(6分)2. DSEG SEGMENTRECORD DW 76,69,84,90,73,88,99,63,100,80S6DW 0S7DW 0S8DW 0S9DW 0S10DW 0DSEG ENDSCSEG SEGMENTMAIN PROC FARASSUME CS: CSEG, DS: DSEGSTART:PUSH DSSUB AX, AXPUSH AXMOV AX, DSEGMOV DS, AXBEGIN:MOV CX, 10CALL COUNTRETMAIN ENDPCOUNT PROC NEARMOV SI, 0NEXT:MOV AX, RECORD[SI]MOV BX, 10DIV BLMOV BL, ALSUB BX, 6SAL BX, 1INC S6[BX]ADD SI, 2LOOP NEXTRETCOUNT ENDPCSEG ENDSEND START(8分)谢谢大家下载,本文档下载后可根据实际情况进行编辑修改.再次谢谢大家下载.翱翔在知识的海洋吧.。