《《汇编语言》试题(A4)与参考答案》由会员分享,可在线阅读,更多相关《《汇编语言》试题(A4)与参考答案(13页珍藏版)》请在金锄头文库上搜索。
1、题 号一二三四总分 评 分 一:选择题(每题2 分) 1. 已知( AX)=56H , (BX )=0ACH , ( CX )=10AH执行下列程序后(AX ) = PUSH AX PUSH BX PUSH CX POP BX POP AX POP CX A:5600H B:00ACH C:0056H D:010AH 2. 下面四条指令中, 正确的指令有 ( )几条 . MOV AL,AH AND AL,BX CMP AL,BL MOVZX AX,BL A:1 条 B:2条 C:3条 D:4条 专业级,学生 : 学号 : 3. 假设某子程序使用的返回指令是RET,则返回地址为( ). A:CA
2、LL 指令下面第二条指令的地址 B:(SP+1)和(SP) 中存放的地址 C:(SP+5)和(SP+4)中存放的地址 D:CALL 指令下面第四条指令的地址 4. 在汇编语言程序设计中,段间转移指令JMP A0,其中 A0的属性是 ( ) . A:PUBLIC B:COMMON C:FAR D:NEAR 5. 指令 ADD CX,DI+10H 中源操作数的寻址方式是( ). A: 相对的变址寻址 B: 基址寻址 C: 变址寻址 D: 基址和变址寻址 6. 完成将 AX清零,并使标志位CF清零,下面错误的指令是:( ). A:SUB AX,AX B:XOR AX,AX C:MOV AX,00H
3、D:AND AX,00H 7. 下列引起CPU程序中断的四种情况, 哪一种不是BIOS 中断调用 ?( ). A:INT 23 B:INT 33 C:INT 22 D:INT 16 专业级,学生 : 学号 : ( 8. 用来表示堆栈指针的寄存器是( ). A:IP B:BP C:SP D:SS 9. 下列指令中 , 不影响标志位SF位的指令是 ( ). A:RCL AX,1 B:SAR AX,1 C:AND BH,0FH D:ADC AX,SI 10. 对于指令MOV AX,0和指令 XOR AX,AX,下面哪一种描述是正确的( ). A:均可执行对AX寄存器的 清 0 操作 , 并且执行速度
4、也没有差异 B:均可执行对AX寄存器的 清 0 操作 , 但 MOV AX,0指令的执行速度比较快 C: 均可执行对AX寄存器的 清 0 操作 , 但 XOR AX,AX指令的执行速度比较快 D: 两条指令的执行结果不同 二:填空题(每题2 分) 1. 若定义 NUMB DB 2 DUP(3,2,2 DUP(0),2 DUP(5),则在 NUMB 存储区最后三个单元的数据是 _. 2. 在 MOV AX,55AAH 指令的机器代码中, 最后一个字节是_. 3. 该程序段中数据段定义如下 DATA SEGMENT BUM DB 1 ,2,3, 4,5,6,7, 8 DISP DW 2 DATA
5、ENDS 执行下列指令段后 LEA BX,BUM ADD BX ,DISP MOV AX,WORD PTRBX AX=_H )考试科目 : 汇编语言程序设计 4. 若定义 VAR DD ?,则在 VAR存储区前4 个单元的数据是_。 5. 汇编语言源程序的扩展名是_。 6. 假设 (SP) 0100H,(SS) 2000H,执行 PUSH BP指令后,栈顶的物理地址是 _. 7. 执行下面的程序段后,(AX)=_H. ARRAY DB 10 DUP(2) XOR AX,AX MOV CX,8 MOV SI,OFFSET ARRAY NEXT: ADD AX, SI INC SI LOOP NE
6、XT 8. 调试程序DEBUG.EXE 是_位的调试程序。 9. 汇编语言目标程序的扩展名是_。 10. 该程序段中数据段定义如下 DATA SEGMENT LST DB 1,2,3, 4,5,6,7, 8 WORDS DW 2 DATA ENDS 执行下列指令段后 LEA BX,LST BX=_H 专业级,学生 : 学号 : ( 三:简答题(每题5 分) 1. 简述汇编语言源程序,经汇编连接后产生的程序在执行后正常返回DOS 的两种方法。 2. 定义过程的伪指令格式为: PROC TYPE ENDP 其中 TYPE方式有哪几种选择, 试说明这几种选择方式的含义. 3. 若 32 位二进制数存
7、放于DX和 AX中, 试利用移位与循环指令实现以下操作. (1)若 DX和 AX中存放的是无符号数, 将其分另乘2 和除 2. (2)若 DX和 AX中存放的是有符号数, 将其分别乘2 和除 2. 4. 编写指令将数据段中的一个字节变量ADDNUM 加一送给AL 寄存器 . )考试科目 : 汇编语言程序设计 5. 设有关寄存器及存储单元的容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H, (20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H, (21200)=2AH,(21201)=4CH,(21202)=0B7H,(21203
8、)=65H, 试说明下列各条指令执行完后AX寄存器的容 . (1)MOV AX,1200H (2)MOV AX,1200H (3)MOV AX,1100BX (4)MOV AX,1100BXSI 6. 说明下面两个语句的异同: MOV BX,1200H LEA BX,1200H 专业级,学生 : 学号 : ( 四:编程题(共2 题 共 30 分) 1.(10 分)设当前 DS的容为 2E00H ,在数据段的偏移地址0100H单元, 含有一个容为0AB10H 和 1100H的指针,它们是一个16 位变量的偏移地址和段地址,试写出把该变量装入AX的指 令序列(只需写出这部分程序指令序列)。 )考试
9、科目 :汇编语言程序设计 2. (20 分)现有一个不超过0FFH 个小写英文字母组成的字符串,要求编写一个完整的程 序,统计 a-z 各字符串出现的次数,并分别存入字符串后的以RESULT 为首地址的26 个字节 单元中 汇编语言试题 (A) 参考答案 一:选择题(每题2 分) 1.B 2.B 3.B 4.C 5.C 6.C 7.B 8.C 9.A 10.C 二:填空题(每题2 分) 1. 0,5,5 2.55H 3.0403 4. 随机数 5.ASM 6.200FEH 7.1010 8.16 9.OBJ 10.00H 三:简答题(每题5 分) 1. ( 1)用 DOS 21H中断调用的功能
10、调用4CH 在用户程序结束后插入下面语句 MOV AH ,4CH INT 21H ( 2)用 BIOS中断调用20H 在用户程序结束后插入:INT 20H 2. FAR ;段间调用。 NEAR;段调用。 3.(1) 无符号数乘2:SHL AX,1;RCL DX,1 无符号数除2:SHR DX,1;RCR AX,1 (2)有符号数乘2:SHL AX,1;RCL DX,1 有符号数除2:SAR DX,1;RCR AX,1 4.MOV BX,OFFSET ADDNUM ADD BX MOV AL,DS:BX 5.(1)1200H (2)4C2AH (3)4C2AH (4)65B7H 6.AX 为地址
11、 1200H 所指容, AX 为 1200H。 四:编程题( 2 题共 30 分) 1. ( 10 分) MOV AX ,2E00H MOV DS ,AX MOV BX ,0100H MOV AX ,0100H+2 MOV DS ,AX MOV AX ,BX 2. ( 20 分) STACK SEGMENT PARA STACK stack (5分 ) DB 64 DUP(0) STACK ENDS DATA SEGMENT (5分) STRING DB $ RESULT DB 26 DUP (0) DATA ENDS CODE SEGMENT ASSUME CS:CODE , DS :DAT
12、A (5分) MAIN PROC FAR START : MOV DX ,DATA MOV DS ,DX MOV CX ,0FFH;255 MOV AH ,0 MOV SI,0 NEXT : MOV AL,STRINGSI (5分) SUB AL ,61H MOV DI ,AX INC RESULTDI INC SI LOOP NEXT MOV AH ,4CH INT 21H MAIN ENDP CODE ENDS END START 汇编语言试题 (A) 评分标准和评分细则 一:选择题(每题2 分) 1.B 2.B 3.B 4.C 5.C 6.C 7.B 8.C 9.A 10.C 二:填空题
13、(每题2 分) 1. 0,5,5 2.55H 3.0403 4. 随机数 5.ASM 6.200FEH 7.1010 8.16 9.OBJ 10.00H 三:简答题(每题5 分) 1. ( 1)用 DOS 21H中断调用的功能调用4CH 在用户程序结束后插入下面语句 MOV AH ,4CH INT 21H ( 2)用 BIOS中断调用20H 在用户程序结束后插入:INT 20H 2. FAR ;段间调用。 NEAR;段调用。 3.(1) 无符号数乘2:SHL AX,1;RCL DX,1 无符号数除2:SHR DX,1;RCR AX,1 (2)有符号数乘2:SHL AX,1;RCL DX,1 有
14、符号数除2:SAR DX,1;RCR AX,1 4.MOV AX,OFFSET ADDNUM ADD AX MOV AL,ES:BX 5.(1)1200H (2)4C2AH (3)4C2AH (4)65B7H 6.AX 为地址 1200H 所指容, AX 为 1200H。 四:编程题( 2 题共 30 分) 1. ( 10 分) MOV AX ,2E00H MOV DS ,AX MOV BX ,0100H MOV AX ,0100H+2 MOV DS ,AX MOV AX ,BX 2. ( 20 分) STACK SEGMENT PARA STACK stack (5分 ) DB 64 DUP
15、(0) STACK ENDS DATA SEGMENT (5分) STRING DB $ RESULT DB 26 DUP (0) DATA ENDS CODE SEGMENT ASSUME CS:CODE , DS :DATA (5分) MAIN PROC FAR START : MOV DX ,DATA MOV DS ,DX MOV CX ,0FFH;255 MOV AH ,0 MOV SI,0 NEXT : MOV AL,STRINGSI (5分) SUB AL ,61H MOV DI ,AX INC RESULTDI INC SI LOOP NEXT MOV AH ,4CH INT 21H MAIN ENDP CODE ENDS E