STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT MES DB 'INPUT a KEY :',0AH,0DH,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES ;显示MES定义的字符 MOV AH,09H INT 21H SSS: MOV AH,01H INT 21H CMP AL,1BH ;ESC JE EXIT JMP SSS EXIT: MOV AH,4CH ;有键返回DOS INT 21H CODE ENDS END START 程序可在DOS下直接运行,也可以用td -rp test1 在实验箱上运行,按实验箱上小键盘,在液晶显示器上显示。 7、修改程序 对上面编写的程序进一步修改,若连续键入三个8,在显示器上显示“Good number”。按ESC键结束程序返回DOS。
时间: 2023-12-03 11:44:28 浏览: 66
以下是修改后的程序:
```
STACK1 SEGMENT STACK
DW 256 DUP(?)
STACK1 ENDS
DATA SEGMENT
MES DB 'INPUT a KEY :',0AH,0DH,'$'
GOOD DB 'Good number',0AH,0DH,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET MES ; 显示MES定义的字符
MOV AH,09H
INT 21H
SSS: MOV AH,01H
INT 21H
CMP AL,1BH ; ESC
JE EXIT
CMP AL,'8'
JNE NOT_EIGHT
MOV AH,01H
INT 21H
CMP AL,'8'
JNE NOT_EIGHT
MOV AH,01H
INT 21H
CMP AL,'8'
JNE NOT_EIGHT
MOV DX,OFFSET GOOD ; 显示GOOD定义的字符
MOV AH,09H
INT 21H
JMP SSS
NOT_EIGHT:
JMP SSS
EXIT: MOV AH,4CH ; 有键返回DOS
INT 21H
CODE ENDS
END START
```
当连续键入三个8时,程序会显示“Good number”,并继续等待输入。按ESC键结束程序返回DOS。