3. 判断题
(1) 一个字存入堆栈时,堆栈指针SP+2修正;从堆栈中取出一个字时,SP-2修正. ( X ) (2) 调用程序和子程序可以在同一个代码段,也可以在不同的代码段。 ( √ ) (3)汇编语言是用符号表示的面向机器的语言,因此它是机器语言。 ( X ) (4) 堆栈以先进后出的方式工作。( √ ) (5) 零标志ZF=1,表示计算结果为1。( X)
4. 简答题
(1)寻址方式有哪几种? 课本22页 (2)某程序段如下: MOV DX,0ABCDH MOV AX,2345H MOV CL,4 SHL DX,CL MOV BL,AH SHL AX,CL
SHR BL,CL OR DL,BL
下面的程序段执行完后,DX、AX的内容是什么? 答:DX中的内容为0BCD2H, AX中的内容为3450H。 5. 指出下列指令的错误 (1)MOV 1E0FH ,BX 错误: 目的操作数不能是立即数 (2) DIV 12H
错误:除法指令源操作数不能是立即数 (3)MOV [BX] , [SI]
错误:源、目的不能同时为存储器寻址方式 (4)SAL AH,4
错误:当移位次数大于1时,应将移位次数放在CL寄存器中 (5)MOV DL,AX
错误:源操作数和目的操作数类型不一致
6
6. 程序分析题
(1). 设寄存器AL,BL,CL中内容均为34H, XOR AL,0FH AND BL,0FH OR CL,0FH 执行上述指令序列后:
AL= 3BH;BL= 04H;CL= 3FH。 (2)MOV AL , 0ABH
MOV BL , 35H CALL SUB2 INC AL
DEC BL …… …… SUB2 PROC
ADD AL , BL ; XCHG AL , BL ; RET SUB2 ENDP
执行结果:(AL)= 36H,(BL)=0DFH。
7. 程序设计题
给出程序部分代码,请将空格处的其余程序代码补全。
写一个实现把一位十六进制数转换为对应ASCII码的程序。 十六进制数码与对应ASCII码的关系如下所示: 0 1 2 3 4 5 6 7 8 9 A B C D E F 30H 31H 32H 33H 34H 35H 36H 37H 38H 39H 41H 42H 43H 44H 45H 46H ;程序名:T3-7.ASM
;功能:十六进制数到ASCII码的转换 DATA SEGMENT
XX DB 4 ;假设的十六进制数码 ASCII DB ? ;存放对应的ASCII码 DATA ENDS
7
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX DATA MOV DS, AX MOV AL, XX
AND AL, 0FH ;确保在0至F之间 ______________
______________ ;超过9转移
______________
______________ LAB1: ADD AL,37H LAB2: MOV ASCII,AL MOV AH,4CH INT 21H CODE ________
_______________
说明:本考试指导只适用于2013-2014学年度第一学期期末考试使用,包括正考和补考内容。指导中的章节知识点涵盖考试所有内容,给出的习题为考试类型题,请全体同学认真复习。祝大家考试顺利!
8