1、注:此为广东海洋大学汇编语言复习题,学会满分都不成问题。答案由阿稻想洋洋整理提供,如有疑问和不妥之处,请联系师兄我。2015 汇编语言复习提纲一、考试题型:1、选择题(20 分,每题 1 分)2、判断题(10 分,每题 1 分)3、填空题(20 分,每空 2 分)4、程序填空题(24 分,每空 3 分)5、程序分析题(16 分,每题 4 分)6、编程题(10 分)二、考试范围与考试形式教材第 19 章,笔试,闭卷三、考试要点:1、十进制、二进制、十六进制的相互转换;位、字节与字的概念;SACII 码(常用数字、字母及回车换行空格符的 ASCII 码各是多少?)与 BCD 码的特点。2、8086
2、CPU 内部结构及总线宽度(地址总线宽度和数据总线宽度)3、8086CPU 有哪些寄存器,寄存器的位数、名称及作用;标志寄存器各个位的名称。4、内存单元的地址与内容;物理地址的形成与存储器分段结构,逻辑地址与物理地址的关系,段的划分条件及段的大小。5、常用的与数据有关的寻址方式6、常用汇编指令的格式和功能(数据传送类指令MOV、LEA 、IN/OUT 、PUSH/POP 、CBW、CWD算术运算类指令ADD、ADC、INC、SUB、DEC、CMP、MUL 、DIV逻辑运算与移位 AND、OR 、XOR 、SHL、SHR转移指令 JMP、JNZ/JZ、JG/JL、JBE/JAE串操作指令 REP
3、 、 REPZ、MOVSB 、CMPSB 、STOSB、STD、CLD循环指令 LOOP、LOOPNZ子程序调用与返回 CALL、RET中断调用与返回 INT、IRET7、常用伪指令的格式与用法SEGMENTENDS、PROCENDP、MACROENDM、ASSUME、END、OFFSET、SEG 、LOCALDB、 DW、LABEL 、PTR、DUP8、汇编语言的上机过程及各个过程中产生的文件后缀名;源程序的基本结构9、debug 常用命令的功能及用法(R 、 D、E、A、U、T、G、P);要明白 Debug 中使用命令后显示各栏内容的含义。10、循环程序结构:循环条件的控制11、分支程序结
4、构:条件转移指令的用法,分支顺序的安排12、子程序结构:子程序的调用与返回,子程序参数传递13、宏定义、宏调用14、中断源与中断向量;中断向量表15、常用 BIOS 和 DOS 中断(INT 10H INT 21H)、显示器显示的原理、文本方式下要显示字符对应显存中两个字节的内容。四、考试时间2015 年 6 月 11 日(14 周周四)下午 4:10。地点:主 424、426、508、516汇编语言复习题一、单选题 1. 数字 1 的 ASCII 码值是( C )。A. 1 B. 30H C. 31H D. 20H2ASCII 码字符使用 ( BB ) 位进行编码。A. 3 B. 7 C.
5、8 D. 163. 汇编语言源程序经过汇编后产生( B )文件。A. .ASM B. .OBJ C. .EXE D. .DOC4汇编语言源程序是( B)文件。A. .EXE B. .ASM C. .OBJ D. .DOC5. 汇编语言源程序中定义段的伪指令是( A )。A. SEGMENT.ENDS B. PROC.ENDP C. MACRO.ENDM D. SEGMENT.END 6汇编语言源程序中定义过程的伪指令是( B )。A. SEGMENT.ENDS B. PROC.ENDP C. MACRO.ENDM D. SEGMENT.END7. 8086CPU 的地址总线宽度为( C )。A
6、. 8 B. 16 C. 20 D. 3288086CPU 的数据总线宽度为( C )。A. 8 B.10 C.16 D.209下列哪个寄存器可拆分成 2 个 8 位寄存器( B )。A. BP B. BX C. CS D. IP10. 8086CPU 提供了( C )个 16 位寄存器。A. 8 B. 12 C. 14 D. 2211. DEBUG 调试程序时查看寄存器内容的命令是( D )。A. D B. E C. U D. R12DEBUG 调试程序时查看内存单元内容的命令是( D )。A. R B. E C. U D. D13. 下列哪个寄存器用来指示当前栈顶的偏移地址( A )。A.
7、 SP B. BX C. BP D. IP14. 下列地址信息与 4015H:000FH 确定的内存地址不同的是( C)。A. 4013H:002FH B. 4010H:005FH C. 4000H:005FH D. 4015FH15. 下列哪个寄存器在编程时不能用来保存内存单元的偏移地址( B )。A. DI B. CX C. BX D. SI16. 指令 MOV AX, BX 中源操作数的寻址方式是 (B )。A. 直接寻址 B. 寄存器寻址 C. 寄存器间接寻址 D. 寄存器相对寻址 17 指令 MOV AL,STRNG SI 中源操作数的寻址方式是 ( D )。A. 直接寻址 B. 寄
8、存器寻址 C. 寄存器间接寻址 D. 寄存器相对寻址 18 在 8086 微机的输入输出指令中,可直接由指令指定的 I/O 端口号有 ( C )个。 A. 16 B. 64 C. 256 D. 21619. 标志寄存器中下列哪个位是中断标志位( D )。A. CF B. OF C. DF D. IF20标志寄存器中下列哪个位是方向标志位( C )。A. CF B. OF C. DF D. IF21. 设 SP 初值为 4000H,执行指令“ POP AX ”后,SP 的值是( A )。A.4002H B. 3FFEH C. 3998H D. 4001H22设 SP 初值为 4000H,执行指令
9、“ PUSH AX ”后,SP 的值是( A )。A. 3FFEH B. 3FFFH C. 3998H D. 4002H23在内存分段管理中,8086CPU 能访问到的最小段空间是( A )。 A. 16 B B. 16KB C. 64KB D. 64B24. 在内存分段管理中,8086CPU 能访问到的最大段空间是(C )。 A. 16 B B. 16KB C. 64KB D. 64B25. 8086CPU 允许有( D )个中断源A. 0 B. 16 C. 64 D. 25626. Debug 加载程序后查看寄存器内容如下,则该程序第一条指令的起始地址是( D )ds=0b2d es=0b
10、2d ss=0b3d cs=0b3e ip=0001 A. 00001H B. 0b2d1H C. 0b3d1H D.0b3e1H 27. 下列数据段中内容如下,则与符号 COUNT 等价的值是( D )BUF DB 2 DUP(0,2 DUP (1,2,3),3) COUNT EQU $ - BUF A. 3 B. 5 C. 12 D. 16 28. mov cx,0 s: add ax,bx loop s 以上指令序列执行后 add ax,bx 指令被执行了( A )次A. 65536 B. 65535 C. 1 D. 029. 宏定义体内有标号,程序中要多次调用该宏,则宏定义体内必须使用
11、( C )。A. MACRO B. XALL C. LOCAL D. INCLUDE30. 下列对于 Intel8086cpu 标志寄存器的说法正确的是( D )A. 无符号数运算的进位情况由 of 位记录,有符号数运算的溢出情况由 cf 位记录。B. cpu 执行每一条指令都会改变标志寄存器的内容。C. 当前指令对 flags 的影响,不会为后续指令的执行提供依据。D. 并不是所有的条件转移指令都要参考标志寄存器中的相关标志位。二、判断题针对 8086CPU,请判断下列指令格式的正误,正确打“”,错误打“”。1、 MOV CS, 3000H ( X ) 2、 POP AX ( )3、 PUS
12、H AL ( X )4、 OUT 0FCH,AX ( X ) 5、 IN AX, 03FCH ( X )6、 ADD BX, BX ( )7、 AND AL, 0F0H ( )8、 INT 300H ( X )9、 MOV AX, SIDI ( X )10、 RET 6 ( )11、 MOV WORD PTR BX ,0 ( )12、SHL AX, 4 ( X )13、MOV AX,BL ( X )14、MOV BX, DI ( X )15、CALL FAR PTR S ( )16、MOV DS,1000H ( X)17、ADD DS,AX ( X )18、MOV AL,1000H ( X )
13、19、JMP WORD PTR BX ( )20、SHL AX,CL ( )三、填空题设 (DS)=3000H, (ES)=4000H,(SS)=5000H,(BX)=1000H , (BP)=1001H, (SI)=0001H,(DI)=0002H,(31000H)= 3412H, (31002H)= 7856H,(41000H)=9ABCH, (41002H)=2EF0H,(51000H)=3456H,(51002H)=789AH,说明下列各条指令执行完后AX 寄存器的内容。1、执行指令 MOV AX,ES:BX 后(AX)= 9ABCH 2、执行指令 MOV AX,BX+SI 后(AX)
14、= 5634H 3、执行指令 MOV AX,BP 后(AX)= 9A34H 4、写出与指令 LEA BX, BUFFER 完全等效的指令 MOV BX ,OFFSET BUFFER5、回车符(Enter)换行符的 ASCII 码分别是 0DH 、0AH6、机器执行下列指令序列后,正确的结果是(BL )05HMOV BL,81HADD BL,BLADC BL,BL7、下面的程序执行后,(ax)= 6内存地址 机器码 汇编指令 1000:0 b8 00 00 mov ax,0 1000:3 e8 01 00 call s 1000:6 40 inc ax 1000:7 58 s: pop ax 8
15、、分配给中断类型号 1CH 在中断向量表中的物理地址为 00070H9、定时器中断类型号为 08H,则其中断向量在中断向量表中的物理地址为 00020H10、若机器进行有符号数运算,则执行下列指令后: (OF)= 0 MOV AL,0F0H ADD AL,78H 11、若机器进行有符号数运算,则执行下列指令后: (OF)= 1 MOV AL,0F0H ADD AL,88H 12、在文本方式下,对应显示屏幕上的每个字符,在显存中由 两 个字节表示。13、若给定段地址为 0010H,仅通过变化偏移地址寻址,则 CPU 的寻址范围为00100H 到_100FFH_(请写出物理地址)。14、写出从端口
16、 25H 读入一个字节数据的指令 IN AL, 25H15、段地址为 1000H,若将内存空间 10000H1FFFFH 当作栈使用,初始化栈为空,那么寄存器 SP 的值应设置为(SP)=1FFFDH16、存储下一条要执行指令的偏移地址的寄存器是 IP(指令指针寄存器)17、实现将 AX 的高 8 位清零低 8 位保持不变的指令是 AND AX, 00FFH18、DEBUG 调试程序时单步执行的命令是 T19、十进制数 45 的 BCD 码是 0100 010120、AL 中存放某大写字母的 ASCII 码,要将其转换为对应小写字母的 ASCII 码,可用 ADD AL, 20H 指令实现。
17、四、程序填空题1、以下是将 BX 中的二进制数转换为十六进制数(字母用大写 AF)并显示的程序源文件 BINIHEX.ASM,请阅读并完成该程序。 START : MOV CH, 4ROTATE: MOV CL,4 ROL BX, CL ;将 BX 的高 4 位移至低 4 位MOV AL, BLAND AL,0FH ;保留 AL 的低 4 位ADD AL, 30H CMP AL, 3AHJL PRINTITADD AL,07H ;转变为大写字母的 ASCII 码PRINTIT : MOV DL, ALMOV AH, 02H INT 21H ;显示字符DEC CH JNZ ROTATE ;判断循
18、环是否结束MOV AH, 4CHINT 21H2、以下是子程序 BCDIASC,请阅读程序并完成填空。;-功能:将十进制的两位数的 BCD 码转换为 ASCII 码并在屏幕中间显示.;-参数:(AL)= 十进制的两位数的 BCD 码,无出口参数BCDIASC : MOV AH, ALMOV CL,4 SHR AH, CL ADD AH,30HAND AL, 0FH ADD AL,30H MOV BX,0B800HMOV ES, BX MOV BYTE PTR ES:160*12+40*2 ,AH ;在屏幕中间显示MOV BYTE PTR ES:160*12+40*2+2 ,AL RET ;子程
19、序结束3、以下是采用位触发方式控制扬声器发声的子程序 SOUND,请补充完整。;-功能:子程序 SOUND 控制扬声器发声;-入口参数:(BX)=发声频率,控制脉宽; (CX)=发声时间,控制音长。SOUND PROC NEARPUSH AXPUSH DXMOV DX,CXIN AL,61H ; 从控制端口获得控制信息AND AL, 11111100B TRIG:XOR AL, 2 ; 按 1、0 交替变换 1 号位的值OUT 61H, AL MOV CX, BX DELAY:LOOP DELAY ; 控制发声频率DEC DXJNZ TRIG ; 控制发声时间长度POP DXPOP AXRET
20、 SOUND ENDP五、程序分析题1、已知数据段中 ARRAY 是字符串首地址、COUNT 是字符串的长度, ARRAY 和COUNT 均定义为字节类型。分析下面程序段完成的功能是什么?MOV AL,20H MOV CH,0MOV CL, COUNTCLDLEA DI, ARRAY 用空格符(20H)清除某一字符区REP STOSB2、分析下面程序段完成的功能是什么? MOV CX,10L1: MOV AH,1INT 21HPUSH AX LOOP L1MOV CX,10 把输入的字符逆向输出L2: POP DX MOV AH,2INT 21HLOOP L2 3、分析下面程序段完成的功能是什么? MOV CH,4ROTATE: MOV CL, 4 ROL BX,CL MOV AL, BLAND AL,0FH ADD AL,30HCMP AL, 3AHJL PRINTITADD AL,7