例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 | |||||