2011扬州大学汇编试卷及答案计科(A)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
扬州大学试题纸
( 2010- 2011学年第二学期) 学院 班(年)级课程 汇编语言 (A )卷
一、选择(每题1分,共20分) 1.8086 CPU 在基址加变址的寻址方式中,基址寄存器可以为 B ,变址寄存器可以为SI 或DI 。
A )AX 或CX B )BX 或BP C )SI 或BX D )DX 或DI 2.指令指针寄存器IP 用来存放代码段中的偏移地址。
在程序运行的过程中,它始终指向___________C_______________。
A) 当前指令的首地址 B) 当前指令的地址 C) 下一条指令的首地址 D) 下一条指令的地址 3.设 AL=23H,BL=7EH ,问执行 ADD AL,BL 后 ,PSW 中各标志位正确的组合 是____B____。
A) AF = 1, PF = 1 B) AF = 1, PF = 0 C) AF = 0, PF = 1 D) AF = 0, PF = 0 设数据段定义如下:(4~6题均采用该数据段) DATA SEGMENT NA
EQU
15 NB EQU 10 NC DB 2 DUP (4,2 DUP (5,2)) CNT DB $-NC CWT DW $-CNT ND DW NC
DATA ENDS
4. 从DS:0000开始至CNT单元之前存放的数据依次是( D )
A) 15,10,4,5,2,5,2,4,5,2,5,2 B) 15,10,4,2,5,2,4,2,5,2
C) 0FH,0AH,4,5,2,5,2 D) 4,5,2,5,2,4,5,2,5,2
5. ND单元中的值是( A )
A)0000H B) 0200H C)0003H D) 0002H
6. CWT单元中的值是( B )
A)2B) 1C)11D) 12
7. 将变量BUF的偏移地址送入SI的正确指令是 C 。
A) MOV [SI],BUF B) MOV SI,BUF
C) LEA SI,BUF D) MOV OFFSET BUF,SI
8. 当SS =3000H,SP =0100H 时,执行PUSH AX 指令后,堆栈顶部的物理地址是__D______。
A) 30100H B) 30102H
C) 30098H D) 300FEH
9. 假设V1和V2是用DW定义的变量,下列指令中正确的是 B 。
A) MOV V1,V2 B) MOV V1,20H
C) MOV 2000H,V2 D) MOV AL,V1
10. 执行下面的程序段后,AX = B 。
NUM = 100
MOV AX, NUM EQ 100
A) 50 B) 0FFFFH C) 1 D) 0
11. 符号定义语句如下:BUF DB 10,20,30,‘456’
L EQU $-BUF
汇编后,L的值是__C____。
A) 4 B) 5 C) 6 D) 7
12. 数据定义BUF DB ‘1234’,执行指令MOV CL, LENGTH BUF后,CL
寄存器的内容是___A___。
A) 1 B) 2 C) 3 D) 4
13. 下列指令中,错误的指令条数是____C___。
MOV BYTE PTR [DI],1000 TEST AL,[BP]
MOV [DI],[BX] SHR [BX][SI],3
A)1 B)2 C)3 D) 4
14. 指令SUB AX, [BX]的源操作数的寻址方式是 A 。
A) 寄存器间接寻址B) 基址+变址寻址
C) 变址寻址D) 直接寻址
15. 将累加器AX 内容清零的错误指令是 D 。
A)AND AX,0 B)XOR AX,AX
C)SUB AX,AX D)CMP AX,AX
16. 执行下列程序段后,(AX)= ___B_____。
TAB DW 0,1,2,3,4,5
ENTRY EQU 3
MOV BX, OFFSET TAB
ADD BX,ENTRY
MOV AX,[BX]
A) 0002H B) 0200H C) 0300H D) 0003H
17. 下列指令中,正确的一条是___B_____。
A)OUT CX,AL B)MOV AX,TAB2-TAB1+100
C)MOV CS,BX D)POP CS
18. 已知:V AR DW 1,2,$+2,5,6,若汇编时V AR分配的偏移地址是0010H,汇编0014H单元的内容是____B____。
A)05H B)16H
C)06H D)14H
19. 条件转移指令JNE的测试条件是___C_____。
A)ZF=1 B)CF=0
C)ZF=0 D)CF=1
20. 逻辑移位指令SHL 用于____C____。
A )带符号数乘2
B )带符号数除2
C )无符号数乘2
D )无符号数除2
二、填空(每空1分,共10分)
1.假定SS=2004H ,SP=0100H ,AX=2107H ,执行指令push ax 后,存放数据21H
的物理地址是___2013FH______。
2.有指令 “MOV SI,OFFSET DA TA ”,和它等效的指令是___LEA SI ,DATA_____。
3.若定义 DATA DW 1234H ,执行MOV BL,BYTE PTR DATA 指令后,BL=__34H_。
4.在宏汇编中,源程序必须通过_____编译_____生成目标代码,然后用连接程序将其
转化为可执行文件, 该文件可在系统中运行。
5.写出将寄存器AX 的内容求补的正确指令是_______NEG AX____________。
6.设(AX)=2006H ,执行CMP AX,AX 后 (AX)=______2006H___________。
7.下面两个语句的区别在于 X1 EQU 1000H _不能多次赋值, X2=1000H ___
可以多次赋值。
X1 EQU 1000H; X2=1000H
8.标志寄存器中状态标志有_____6_____个,控制标志有_____3___个。
三、简答(每题5分,共20分)
1. 若要检测AL 中的最高位是否为1,若为1,则转移到标号NEXT 处,否则顺序
执行,请用两条指令完成之。
TEST AL ,80H (3分)
JNZ NEXT (2分)
2. 在存储器中存放的数据如下图,请给出20000H,20001H 字单元的内容。
并说出
哪个是对准字? 哪个是不对准字?
0201H (对准字)(2.5分) 0302H (不对准字)
3. CALL DWORD PTR [BX]指令是段间调用还是段内调用。
它一共向堆栈中压入几个
字?
段间调用(3分) 2个(2分)
4. 在子程序设计时,为什么要保护和恢复现场?
由于子程序需要用到一些寄存器或存储单元(2分),而这些寄存器或存储单元可能
被主程序使用(2分),为了不破坏(1分)主程序原来的信息。
所以。
四、程序分析题(每题5分,共35分)
1、 对于下面的数据定义,各条MOV 指令单独执行后,请填充有关寄存器的内容:
TABLE1 DB ?
TABLE2 DW 20 DUP (?)
TABLE3 DB ‘ABCD ’
20000H
MOV AX,TYPE TABLE1 ;AX= ①1
MOV BX,TYPE TABLE2 ;BX= ②2
MOV CX,LENGTH TABLE2 ;CX= ③20
MOV DX,SIZE TABLE2 ;DX= ④40
MOV SI,LENGTH TABLE3 ;SI= ⑤ 2
2、执行下列程序段后,给出指定寄存器的内容。
MOV AX,0
MOV BX,1
MOV CX,10
A: ADD AX,BX
INC BX
LOOP A
HLT
执行后的结果为AX=___①_ 55__;
BX=__ ②__ 11__。
该程序段的功能是_______ ③______求1+2+3+…+10的和_____________。
55 (2分) 11(1分)求1+2+3+。
+10的和
3、试分析下列程序段,说明它完成什么操作?程序执行后,HEXNUM字节单元中的内容是什么?
ASCNUM DB 41H
HEXNUM DB ?
MOV AL,ASCNUM
CMP AL,39H
JBE NEXT
SUB AL,7
NEXT: SUB AL,30H
MOV HEXNUM,AL
HLT
4、试分析下列程序段:
ADD AX,BX
JNO L1
JNC L2
SUB AX,BX
JNC L3
JNO L4
JMP SHORT L5
如果AX 和BX的内容如下:
AX BX
(1)14C6H 80DCH
(2)B568H 54B7H
(3)42C8H 608DH
(4)D023H 9FD0H
(5)9FD0H D023H
试问该程序分别在上面几种情况下执行后,程序转向哪里
5、MOV AL,20H
MOV BL,AL
ADD AL,BL
SBB AL,10H
CBW
DIV BL
上述程序段执行后,(AH)=___________,(AL)=___________
6、执行下列程序后,指出相应寄存器的当前值。
MOV SP,2000H
MOV AX,0F0H
MOV SI,1234H
MOV DX,5678H
PUSH SI
POP DI
SHR AX,1
TEST AX,DX
PUSH DX
HLT
SP=__①_______; DL内容所在存储器的偏移地址为____ ②_____;
AX=_____③____; DX=______④____;
7、执行下列程序后,指出BX=____①_________ AX=_____ ②______
XOR AX,AX
MOV BX,2
MOV CX,4
MOV DX,3
L20: INC AX
ADC BX,AX
SHR DX,1
LOOP L20
五、程序设计题(共15分)
1、设内存单元DA TA存放10个单字节无符号数,完善下面程序段统计其中偶数的个数,存入AH.
XOR AX,AX
XOR CL,CL
XOR BX,BX
LOP: TEST ___________, 01H
___________ NEXT
INC AH
NEXT: INC BX
INC CL
CMP CL,_________
JNE LOP
2. 已定义了两个字变量A和B,补充下列程序段使之完成下列功能:
A.若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中。
B.若两个数均为奇数,则将两数均加1后存回原变量。
C.若两个数均为偶数,则两个变量均不改变。
MOV AX,A
TEST AX,______
JZ A_EVEN
MOV BX,B
TEST BX,0001H
JZ B_EVEN
_______________
MOV A,AX
____________
MOV B,BX
B_EVEN: _____________
A_EVEN: MOV BX,B
TEST BX,0001H
JZ EXIT
____________
MOV A,AX
MOV B,BX
EXIT:
参考答案:
2011汇编语言试卷A 答案
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1. B
2. C
3. B
4. D
5. A
6. B
7. C
8. D
9. B 10.B
11.C 12.A 13.C 14.A 15.D
16.B 17.B 18.B 19.C 20.C
二、填空题(本大题共10小题,每小题1分,共10分)
1.2013FH
2.LEA SI,DATA
3.34H
4.编译
5.NEG AX
6. 2006H
7. X1 EQU 1000H
X2=1000H
8. 6 3
三、简答题(本大题共4小题,每小题5分,共20分)
1. TEST AL,80H (3分)
JNZ NEXT (2分)
2.0201H (对准字)(2.5分)0302H(不对准字)(2.5分)
3.段间调用(3分)2个(2分)
4. 由于子程序需要用到一些寄存器或存储单元(2分),而这些寄存器或存储单元可能被主程序使用(2分),为了不破坏(1分)主程序原来的信息。
所以。
四、程序分析题(本大题共7小题,每小题5分,共35分)
1.
① 1 ② 2 ③ 20 ④ 40 ⑤ 1
2.55 (2分) 11(1分)求1+2+3+。
+10的和(2分)
3.把ASCII转换为对应的十六进制数(3分)
0AH(2分)
4.
① L1 ② L1 ③ L2 ④ L5 ⑤ L5
5.10H (2.5分)01H (2.5分)
6.1FFEH (1分)1FFEH (2分)
0078H (1分)5678H (1分)
7. BX=000EH (3分) AX=0004H(2分)
五、程序设计题(共15分)
1. ①BYTE PTR DA TA[BX](2分)
②JNE(2分)
③10(1分)
2. ①0001H(2分) ② INC AX (2分) ③ INC BX(2分)
④ JMP EXIT (2分)⑤ XCHG AX,BX (2分)
第11页。