例8.12 编写可随时修改文本鼠标指针符号的程序,即要求:在程序运行过程中,随时在键盘上按什么字符,即以该字符为鼠标指针符号。
解: | |||||
.MODEL SMALL .CODE |
|||||
.STARTUP | |||||
MOV AX, 00 | |||||
INT 33H | ;初始化鼠标 | ||||
.IF AX != 00 | |||||
MOV | AX, 01H | ||||
INT | 33H | ||||
MOV | BX, 0 | ||||
MOV | DL, 'A' | ;用字符’A’作为鼠标指针符号 | |||
MOV | DH, 07FH | ;设置鼠标的颜色 | |||
MOV | CX, 0H | ||||
MOV | AX, 0AH | ||||
INT | 33H | ;设置文本鼠标指针 | |||
.REPEAT | |||||
MOV AH, 01H INT 16H |
|||||
JZ next | ;无键盘按键,则转到后面 | ||||
MOV AH, 00H | |||||
INT 16H | ;读键盘按键 | ||||
MOV BX, 0 | |||||
MOV DL, AL | ;设置当前按键为鼠标指针符号 | ||||
MOV DH, 7FH MOV CX, 0 MOV AX, 0AH INT 33H |
|||||
next: | |||||
MOV AX, 03H | |||||
INT 33H | |||||
.UNTIL BX==1 | |||||
MOV | AX, 02H | ||||
INT | 33H | ||||
.ENDIF | |||||
.EXIT 0 | |||||
END |