您的位置:首页 > 其它

南邮微机实验(基于中断的动态显示)

2016-12-08 19:54 375 查看
利用1CH中断,每隔一定时间间隔,在屏幕上打印一行自定义的字符串(例如自己的学号B14040411),按下键盘任意键后程序自动退出。

.486
DATA SEGMENT USE16
MESG DB 'B14040411',0DH,0AH,'$'
OLD0A DD ?
ICOUNT DB 18
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BEG:  MOV AX,DATA
MOV DS,AX
CLI
CALL READ0A
CALL WRITE0A
STI

SCAN: MOV AH,1
INT 16H   ;BIOS 键盘输入功能调用 ,01H号查询键盘缓冲区。
JZ SCAN
CALL RESET
MOV AH,4CH
INT 21H

SERVICE PROC
PUSHA
PUSH DS
MOV AX,DATA
MOV DS,AX
DEC ICOUNT
JNZ EXIT
MOV ICOUNT,18

MOV AH,9
LEA DX,MESG
INT 21H

EXIT: POP DS   ;恢复现场
POPA
IRET
SERVICE ENDP

READ0A PROC
MOV AX,351CH
INT 21H
MOV WORD PTR OLD0A,BX
MOV WORD PTR OLD0A+2,ES
RET
READ0A ENDP

WRITE0A PROC
PUSH DS
MOV AX,CODE
MOV DS,AX
MOV DX,OFFSET SERVICE
MOV AX,251CH
INT 21H
POP DS
RET
WRITE0A ENDP

RESET PROC
MOV DX,WORD PTR OLD0A
MOV DS,WORD PTR OLD0A+2
MOV AX,251CH
INT 21H
RET
RESET ENDP
CODE ENDS
END BEG
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  微机 实验 南邮