(完整word版)微机原理复习题 联系客服

发布时间 : 星期三 文章(完整word版)微机原理复习题更新完毕开始阅读3d1193201cd9ad51f01dc281e53a580216fc503c

10. 试编写程序,它轮流测试两个设备的状态寄存器,只要一个状态寄存器的第0位为1,则与其相应的设备就输入一个字符;如果其中任一状态寄存器的第3位为1,则整个输入过程结束。两个状态寄存器的端口地址分别是0024H和0036H,与其相应的数据输入寄存器的端口则为0026H和0038H,输入字符分别存入首地址为BUFF1和BUFF2的存储区中。

mov si, 0 mov di, 0

test12: in al, 0024h test al, 08 jnz exit in al,0036h test al, 08 jnz exit

dev1: in al, 0024h test al, 01 jz dev2 in al, 0026h mov buffer[si], al inc si

dev2: in al, 0036h test al, 01 jz test12 in al, 0038h mov buff2[di],al inc di jmp test12 exit: ret

11. 根据下列要求编写一个汇编语言程序:: (1)代码段的段名为COD_SG (2)数据段的段名为DAT_SG (3)堆栈段的段名为STK_SG

(4)变量HIGH_DAT所包含的数据为95

(5)将变量HIGH_DAT装入寄存器AH,BH和DL (6)程序运行的入口地址为START 答案:

DAT_SG SEGEMNT HIGH_DAT DB 95 DAT_SG ENDS ;

STK_SG SEGMENT DW 64 DUP(?) STK_SG ENDS ;

COD_SG SEGMENT MAIN PROC FAR

ASSUME CS: COD_SG, DS: DAT_SG, SS: STK_SG START: MOV AX, DAT-SG MOV DS, AX

MOV AH, HIGH_DAT MOV BH, AH MOV DL, AH MOV AH, 4CH INT 21H MAIN ENDP COD_SG ENDS END START

12. 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。 答案:

abc: mov ah,1 int 21h cmp al,’a’ jb stop cmp al,’z’ ja stop sub al,20h mov dl,al mov ah,2 int 21h jmp abc stop: ret