???????????????线???????????????订???????????????装???????????????南华大学2007–2008学年度第1学期
汇编语言程序设计 课程考试试卷
(A卷、2005级)
考试日期:2008年1月 16日 考试类别:考试 考试时间:120分钟 题号 得分 得分 一 二 三 四 五 六 总分 学院 专业 考号 姓名 阅卷人 一、 填空题:(每空1分,共20分)
1、设SS=1000H,SP=10H,AX=BX=5678H,顺序执行PUSH AX, PUSH BX后,SP=__0CH___,AX=___5678H____,BX=__5678H_____。
2、MOV AX, [1234H]指令中的源操作数的寻址方式为___直接寻址___。 3.汇编语言程序上机编译的命令是___masm_____,连接的命令是__link____ 。 4.如果在一个程序开始执行以前(CS)=1a45H,(IP)=2B40H,则该程序的第一个字的物理地址是__1CF90H__________。 . 5.DB、DD伪指令中定义的每个操作数分别占__1__、__4__字节。
6.子程序的参数传送方式有变量传送, __寄存器传送__和地址表,__堆栈传送__四种方式。
7.汇编程序有2种功能调用,分别为___宏调用______、___子程序调用____。 8.中断系统的中断向量表用来存放__相应的中断处理程序的入口地址____,共预留了__1k__个字节空间。
9. 一个中断类型号为11H的中断向量存储在地址为 __0044h__至__0047h_的单元
第1页 共7页
中。
10、在串操作指令CMPSB执行时,用于源地址的寄存器是__SI____;目的地址的寄存器是____DI____;如果DF=1,则该指令执行后,目的地址寄存器__地址自动减量___。
得分 阅卷人 二、 单项选择题(在每小题的四个备选答案中,选出一个正
确的答案。每小题2分,共40分)
1. 十进制33.25转换成十六进制数为 ( C ) A. B1.4H B. 1B.19H C. 21.4H D. 33.4H?
2.下列通用寄存器哪一个用于循环计数 ( B ) A. AX B. CX C. BX D .DX
3.指令指针寄存器是 ( A ) A. IP B. SP C. BP D. PSW
4.完成同指令XCHG AX,BX相同功能的指令或指令序列是 ( D ) A. MOV AX,BX B. MOV BX,AX C. PUSH AX D. MOV CX,AX
POP BX MOV AX,BX MOV BX,CX
5.在汇编语言程序中,对END语句的叙述正确的是 ( C ) A. END语句是一可执行语句 B. END语句表示程序执行到此结束 C. END语句表示源程序到此结束 D. END语句在汇编后要产生机器码
6.下面的数据传送指令中,错误的操作是 ( D ) A. MOV SS:[BX+DI],1000H B. MOV DX,1000H C. MOV WORD PTR[BX],1000H D. MOV DS,2000H
7.执行指令 MOV AL,[BP] 时,所读取的数据应在 ( B )
第2页 共7页
A. CS段中 B. DS段中 C. SS段中 D. ES段中
8.使8086/88的标志寄存器FLAG中的中断标志IF置为关中断的命令是 ( A ) A. CLI 清除中断允许位 B. STD C. STI 设置中断允许位 D. CLD 9.某微机有16条地址线,能够覆盖的地址范围是 ( C ) A. 0001H-FFFFH B. 00001H-FFFFFH C. 0000H-FFFFH D. 00000H-FFFFFH
10.若寄存器AX、BX、CX、DX的内容分别为12、13、14、15,依次执行PUSH AX,PUSH BX,POP CX,POP DX后,寄存器CX,DX的内容分别为 ( D ) A. 12,13 B. 13,14 C. 14,15 D. 13,12
11.CPU执行算术运算指令不会影响的标志位是 ( D ) A.溢出标志 B.符号标志 C.零标志 D.方向标志
12.设(AX)=2000H,(BX)=1000H,则在执行了指令“CMP AX,BX”后,标志位CF和ZF的值分别为 ( A ) A. 0,0 B. 0,1 C. 1,0 D. 1,1
13.伪指令是在_________执行的。 ( B ) A. 程序运行期间 B.汇编时由汇编程序
C. 连接时由连接程序 D.装入时由command.com程序
14.AL高4位清0,应执行的指令是 ( B ) A. AND AL,0F0H B. AND AL,0FH C. OR AL,0FH D. TEST AL,0FH
15.DOS功能调用的功能号是 ( A ) A. 21H B. 20H C. 22H D. 10H
16.在计算机系统中能直接执行的程序是 ( B ) A. 任何形式的程序 B. 对源程序汇编,连接以后的程序 C. 对源程序汇编以后的程序 D. 汇编语言源程序
17. 指令LOOP 标号 转移到标号的的条件是 ( C ) A. CX≠0 AND ZF=0 B. ZF=0
C. CX≠0 D. CX≠0 OR ZF=1
第3页 共7页
18.下列指令中不会改变指令计数器IP的是 ( A ) A. MOV B.JMP C.CALL D. RET
19. 与MOV BX,OFFSET X等价的指令是 ( D ) A. MOV BX,X B.LDS BX,X C.LES BX,X D.LEA BX,X
20.有符号数AX除以2的指令是 ( B ) A.SHR AX,1 B.SAR AX,1 C.ROR AX,1 D.RCR AX,1
得分 三、分析简答题:(每小题5分,共30分)
阅卷人 1.在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,
在子程序结束时要恢复这四个寄存器信息。例如: PUSH AX;保护现场 PUSH BX PUSH CX PUSH DX :
: ;恢复现场
试写出恢复现场时的指令序列。
POP DX POP CX POP BX POP AX
2.已知宏定义如下: ADDXY MACRO X, Y
MOV AX, X ADD AX, Y MOV X,AX ENDM
若有以下的宏调用: ADDXY X1,X2 则宏展开为:
第4页 共7页
1 MOV AX,X1 1 ADD AX,X2 1 MOV X1,AX
3.完成下列操作,写程序段:
(1)将AX的内容,减去0520H,和上次运算的借位; (2)将变量名TABL的段地址送AX; 解:(1)MOV BX,0520H SBB AX,BX
(2) MOV AX,SEG TABLE
4.设寄存器AL,BL,CL中内容均为0F0H,
XOR AL,0FH AND BL,0FH OR CL,0FH
执行上述指令序列后,AL,BL,CL的结果是什么?
解:AL 0FFH
BL 00H CL 0FFH
5、下面的程序段完成什么功能?程序执行后,AX寄存器的内容是什么? XOR AX, AX MOV BX, 3
MOV CX, 10 L:
ADD AX, BX
ADD BX, 2 LOOP L
解:功能:对等差数列(3+5+7+?+21,共十项)求和. 3+5+7+9+11+13+15+17+19+21 AX 120D 即为 0111 1000H
第5页 共7页