微机原理及应用复习习题及答案2013 下载本文

安徽工程大学微机原理综合练习题答案

DEC CL ; CL内容减1 JNZ LP ; 若计数器CL的内容不为0则转向LP 继续循环 程序的功能:将BUF单元开始的100个字节的存储单元全部清0

27. 分析填空

MOV BL,09H ;执行后 BL=___09H______ MOV AL,05H ;执行后 AL=___05H______ ADD AL,BL ;执行后 AL=___0EH______ DAA ;执行后 AL=___14H______

BL=___09H______

28. 分析填空

MOV AX,00H ;执行后 AX= 00H

PUSH AX POP BX

;执行后 AX= 00H

;执行后 BX= 00H

MOV AX,3F5FH ;执行后 AL= 5FH

MOV CX,4 ROR AL,CL AND AL,0FH

;执行后 AL= 0F5H

;执行后 AL= 05H

29. 分析填空

假设(BL)=0E3H,变量VALUE中存放的内容79H,确定下列各条指令单独执行后的结果。 (1)BL=9AH (2)BL =FBH (3)BL =1CH (4)BL =00H (5)BL =C6H 30. 阅读程序回答问题

(1)该程序的功能是 计算BLOCK 数据元素中奇数的个数,并存入RESULT中 。 (2)程序执行后,RESULT单元的内容是 5(奇数的个数) 。 (3)第3行汇编后COUNT= 10(BLOCK数组元素的个数 。 (4)* 处的完整指令应是 MOV AX,DATA 。

(5)** 处的完整指令应是 MOV SI,OFFSET BLOCK ,该指令也可以用 LEA SI,BOLCK 指

《微机原理及应用》第 37 页 共 48 页

安徽工程大学微机原理综合练习题答案

令代替 四、程序设计题

8. 内存中有X、Y两个数:X=32,Y=-78 利用汇编语言编写完整的程序,计算这两个数之和,并

将结果存入内存S,即:S=X+Y 参考程序:

DATA SEGMENT X DB 32 Y DB -78 S DB ? DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX

MOV AL,X ADD AL,Y

MOV S,AL

MOV AH,4CH INT 21H CODE ENDS

END START

9. 编程检测从外设端口71H输入的字节数据,若该数据≤20,则向73H端口送0H;若该数据>20,

则向73H端口送0FFH。请写出完整的汇编源程序。 参考程序如下所示:

CODE SEGMENT ASSUME CS:CODE START:IN AL,71H CMP AL,20 JNG K1

《微机原理及应用》第 38 页 共 48 页

安徽工程大学微机原理综合练习题答案

MOV AL,0FFH JMP K2 K1:MOV AL,00H

K2:OUT 73H,AL MOV AH,4CH INT 21H CODE ENDS END START

10. 编程检测80H端口输入的字节数据,若为正,将BL清0;若为负,将BL置为FFH。请写出完

整的汇编源程序。 参考程序如下所示: CODE SEGMENT

ASSUME CS:CODE START:IN AL,80H TEST AL,80H JZ APOS MOV BL,0FFH JMP EXIT APOS:MOV BL,00H EXIT:MOV AH,4CH INT 21H CODE ENDS END START

11. 内存中有X、Y两个数组:X=32、-43、76,Y=-78、127、-128 利用汇编语言编写完整的程序,

计算这两个数组之和,即S(i)=X(i)+Y(i) 参考程序:

DATA SEGMENT X DB 32,-43,76 Y DB -78,127,-128 S DB 3 DUP(0)

《微机原理及应用》第 39 页 共 48 页

安徽工程大学微机原理综合练习题答案

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV BX,00H MOV CX,3

AGAIN:MOV AL,X[BX] ADD AL,Y[BX] MOV S[BX],AL

INC BX LOOP AGAIN MOV AH,4CH INT 21H CODE ENDS END START

12. 在BLOCK开始有一个字节型数组,共有15个元素,利用汇编语言编写完整的程序,计算这个

数组中奇数的个数,并将结果存入内存SUM单元。 DATA SEGMENT BLOCK DB 15 DUP (?) SUM DB 00 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX

MOV SI, OFFSET BLOCK MOV CX,15 CON:MOV AL,[SI]

TEST AL,01H

《微机原理及应用》第 40 页 共 48 页