2007汇编试卷计科(A)
发布时间:2024-11-12
发布时间:2024-11-12
扬州大学试题纸
( 2006- 2007学年第二学期)
学院班(年)级课程 卷
一、选择(每题1分,共20分)
1.8086 CPU 在基址加变址的寻址方式中,基址寄存器可以为,变址寄存器可以为SI或DI。
A)AX或CX B)BX或BP C)SI或BX D)DX或DI
2.指令指针寄存器IP用来存放代码段中的偏移地址。在程序运行的过程中,它始
终指向__________________________。
A) 当前指令的首地址 B) 当前指令的地址 C) 下一条指令的首地址 D) 下一条指令的地址
3.设 AL=23H,BL=7EH ,问执行 ADD AL,BL 后 ,PSW中各标志位正确的组合 是________。
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单元之前存放的数据依次是( ) 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)0000H B) 0200H C)0003H D) 0002H 6. CWT单元中的值是( )
A)2 B) 1 C)11 D) 12 7. 将变量BUF的偏移地址送入SI的正确指令是
A) MOV [SI],BUF B) MOV SI,BUF C) LEA SI,BUF D) MOV OFFSET BUF,SI
8. 当 SS =3000H,SP =0100H 时,执行 PUSH AX 指令后,堆栈顶部的物理地址 是________。
A) 30100H B) 30102H C) 30098H D) 300FEH
9. 假设V1和V2是用DW定义的变量,下列指令中正确的是 。 A) MOV V1,V2 B) MOV V1,20H C) MOV 2000H,V2 D) MOV AL,V1 10. 执行下面的程序段后, AX = 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的值是______。
A) 4 B) 5 C) 6 D) 7
12. 数据定义BUF DB ‘1234’,执行指令MOV CL, LENGTH BUF后,CL
寄存器的内容是______。
A) 1 B) 2 C) 3 D) 4
13. 下列指令中,错误的指令条数是________。
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) 寄存器间接寻址 B) 基址+变址寻址 C) 变址寻址 D) 直接寻址 15. 将累加器AX 内容清零的错误指令是 。 A)AND AX,0 B)XOR AX,AX C)SUB AX,AX D)CMP AX,AX 16. 执行下列程序段后,(AX)= ________。 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. 下列指令中,正确的一条是 ________。
A)OUT CX,AL B)MOV AX,TAB2-B1TA+100 C)MOV CS,BX D)POP CS
18. 已知:VAR DW 1,2,$+2,5,6,若汇编时VAR分配的偏移地址是0010H,汇编0014H单元的内容是 ________。
A)05H B)16H C)06H D)14H 19. 条件转移指令JNE的测试条件是________。 A)ZF=1 B)CF=0 C)ZF=0 D)CF=1
20. 逻辑移位指令SHL用于________。
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 DATA”,和它等效的指令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______不能多次赋值,_______X2____可以多次赋值。
X1 EQU 1000H; X2=1000H
8.标志寄存器中状态标志有___6_______个,控制标志有______3____个。
三、简答(每题5分,共20分)
1. 若要检测AL中的最高位是否为1,若为1,则转移到标号NEXT处,否则顺序执行,请用两条指令完成之。
AND AL,80H JNZ NEXT
2. 在存储器中存放的数据如下图,请给出20000H,20001H字单元的内容。并说出 哪个是对准字? 哪个是对准字? (20000H) =01H
(20001)=02H 01H 03H 是对准字 02H,04H是WEI对准字
20000H
3. CALL DWORD PTR [BX]指令是段间调用还是段内调用。它一共向堆栈中压入几个字? 段间调用
2
4. 在子程序设计时,为什么要保护和恢复现场? 保护主程序的寄存器不被破坏
四、程序分析题(每题5分,共35分)
1、 对于下面的数据定义,各条MOV指令单独执行后,请填充有关寄存器的内容: TABLE1 DB ?
TABLE2 DW 20 DUP(?) TABLE3 DB ‘ABCD’
MOV AX,TYPE TABLE1 ; MOV BX,TYPE TABLE2 ; BX= ② 2
MOV CX,LENGTH TABLE2 ; CX= MOV DX,SIZE TABLE2 ; DX= MOV SI,LENGTH TABLE3 ; SI= ⑤ 1
2、执行下列程序段后,给出指定寄存器的内容。 MOV AX,0 MOV BX,1
MOV CX,10
A: ADD AX,BX INC BX LOOP A HLT
执行后的结果为AX=___①__55_; 。
该程序段的功能是_______ ③ _求1到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 L1 (2)B568H 54B7H L1 (3)42C8H 608DH L2 (4)D023H 9FD0H L5
(5)9FD0H D023H L5
试问该程序分别在上面几种情况下执行后,程序转向哪里 5、
MOV AL,20H MOV BL,AL ADD AL,BL SBB AL,10H CBW DIV BL
上述程序段执行后,(AH)=__10H_________,(AL)=_____01H______
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
内容所在存储器的偏移地址为 AX=_____③0078H____; DX=__5678H____④____;
7、执行下列程序后,指出
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、设内存单元DATA存放10个单字节无符号数,完善下面程序段统计其中偶数的个数,存入AH.
XOR AX,AX XOR CL,CL XOR BX,BX
LOP: TEST _BYTE PTR DATA[BX]___, 01H
____JNZ___ NEXT INC AH
NEXT: INC BX INC CL
CMP CL,___10______ JNE LOP
2. 已定义了两个字变量A和B,补充下列程序段使之完成下列功能: A.若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中。 B.若两个数均为奇数,则将两数均加1后存回原变量。 C.若两个数均为偶数,则两个变量均不改变。 MOV AX,A TEST AX,0001H__ JZ A_EVEN MOV BX,B TEST BX,0001H JZ B_EVEN _INC AX______________ MOV A,AX _INC BX___________ MOV B,BX
B_EVEN: ___JMP EXIT__________ A_EVEN: MOV BX,B
TEST BX,0001H JZ EXIT _XCHG AX,BX_____ MOV A,AX MOV B,BX EXIT:
上一篇:中国近代史选择题专项训练100题
下一篇:《电工与电子技术》教学大纲