一、填空题(每小题3分,共30分)
1.完成将累加器AL清零,并使进位标志CF清零, 可以使用 XOR AL,AL 或SUB AL,AL指令。
2.完成同指令XCHG AX,BX相同功能的指令序列可以用:
MOV CX,AX MOV AX,BX MOV BX,CX。
3.表示宏定义结束的命令是 ENDM 。
4.报警中断的中断类型为4AH,它的中断向量在中断向量表中的物理地址是 128H 。
5.指令JMP WORD PTR [BX][SI]的寻址方式是 段内间接寻址。
6.8086/8088中两个变址寄存器是 SI、DI 。
7.执行下列程序,设(SS)=3000H, 则AL中的数据所在的内存地址(物理地址)是31FFEH _。
MOV SP, 2000H MOV AX, 1234H
PUSH AX
┅
8.完成无符号数乘2的逻辑移位指令是 SHL 。
9.若用数据定义伪指令定义数据:BUF DB 4 DUP(0,2 DUP(1,0)), 问:定义后,存储单元中有数据0100H的字单元个数是 8 。
10. 十进制数- 115用16位补码表示是 FF8DH 。
二、简答题(每小题6分,共24分)
3. 简述子程序与宏定义区别
使用子程序,需要为转子及返回、保存及恢复寄存器以及参数的传递等增加程序的额外开销;子程序是在程序执行期间由主程序调用的,它只占有它自身大小的一个空间;(3分)而宏调用则是在汇编期间展开的,每调用一次就把宏定义体展开一次,因而它占用的空间与调用次数有关,次数越多多则占用空间就越大(3分)。
三、程序分析题(每小题6分,共24分)
1. 设寄存器AL,BL,,CL中内容为69H
XOR AL,0FH AND BL,0FH
OR CL, 0FH
执行上述指令序列后,AL=( 66H )、BL=( 06H )、CL=( 6FH )
2、现有如下程序段:
MOV AL,41H MOV AH,02H
ADD AL,20H INT 21H
MOV DL,AL ┅
请回答:(1)该程序完成的功能是什么? (2)程序执行后,(AL)= ?
将大写的A转换成小写的a(3分) AL=61H(3分)
3.现有程序段如下:
DATA SEGMENT ARRAY DW 5,67,8
ORG 0020H BASUB EQU ARRAY - BUFF
BUFF DB 1,3,5,7,‘2468’, DATA ENDS
请回答:(1)该数据段已占有的存储字节数是多少?
(2)BASUB的值是多少?
1)共占用14个字节(3分) (2)BASUB=8(3分)
4.现有程序段如下:
DATA SEGMENT DA1 DB 64H DA2 DB 04H DA3 DW ? DATA ENDS ………
MOV BL,DA1 MOV CL,DA2 CMP CL,BL AV1:XOR AX,AX
MOV CH,0
AV2:
ADD AL,BL
ADC AH,0
LOOP AV2
MOV DA3,AX
………
JBE AV1
XCHG CL,BL
请回答:(1)该程序完成的功能是什么?
(2)程序执行后,(AX)=
4.(1)完成两个无符号数的相乘(3分)(2)AX=0190H或400(3分)
四、编制程序题(10分)
编写程序段计算:(Z-X*Y+540)/X,其中X、Y、Z、均为16位带符号数,已分别装入X、Y、Z、单元中,要求上式计算结果的商存入AX、余数存入DX寄存器.(勿须写出源程序格式,只须写出指令序列).
MOV AX,X
IMUL Y MOV CX,AX
MOV BX,DX
MOV AX,Z
CWD
SUB CX,AX
SBB BX,DX
ADD CX,540
ADC BX,0
MOV AX,CX
MOV DX,BX:IDIV X (10分)
五、编制程序题(6分)
试编写宏定义,找出3个字节数据(DA1、DA2、DA3)中的最大数,结果存放到MAX单元
SEND MACRO DA1, DA2,DA3,MAX
LOCAL NEXT, EXIT
MOV AL,DA1
MOV BL,DA2
MOV CL,DA3
CMP AL,BL
JGE DON1
MOV AL,BL
DON1:CMP AL, CL
JGE DON2
MOV AL,CL
DON1:MOV MAX,AL
ENDM(6分)
六、编制程序题(6分)
在X单元中存放着一个字数据,试编制一个完整的程序统计X中1的个数,存入CNT单元中并在屏幕上显示出来。
DATA SEGMENT
X DB 12H
CNT DB ?
DATA ENDS CODE SEGMENT MAIN PROC FAR
ASSUME CS:CODE,DS:DATA START: PUSH DS SUB AX, AX PUAH AX
MOV AX, DATA
MOV DS, AX
MOV CL, 0
MOV AL, X
REPEAT:TEST AL, 0FFH JZ EXIT JNS SHIFT
INC CL
SHIFT: SHL AL, 1
JMP REPEAT
EXIT: MOV CNT, CL
ADD CL,30H
MOV DL,CL
MOV AH,02H
INT 21H
RET
MAIN ENDP
CODE ENDS
END START
6分)
(
因篇幅问题不能全部显示,请点此查看更多更全内容