一 代码实现
DATA SEGMENT
BUF DB 100 ;缓冲区长度
DB ? ;预留用来存放实际长度
DB 100 DUP(?) ;接收来自键盘的输入下信息
MESG DB 'WHAT IS YOUR NAME ? $'
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA, CS:CODE
START: MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET MESG ;把MESG的偏移地址传给DX
MOV AH,09H ;屏幕显示提示信息
INT 21H
MOV DX, OFFSET BUF ;把BUF的偏移地址传给DX
MOV AH, 0AH ;接收键盘输入
INT 21H
MOV AH,4CH ;返回DOS
INT 21H
CODE ENDS
END START
可以看出显示提示的地址为0060,对应查找ASCII码,可以得到是WHAT IS YOUR NAME?
下面调用10号命令,可以在屏幕上显示键盘输入的字符。
该程序的功能是,在屏幕上显示提示语WHAT IS YOUR NAME?然后可以显示键盘输入的结果,体现出个简单的人机交互问答。
二 运行结果
三 调试
输入g=0000 000F,程序执行到显示的部分,可以看到屏幕上显示出提示语WHAT IS YOUR NAME?没有错误。
可以看出显示提示的地址为0060,对应查找ASCII码,可以得到是WHAT IS YOUR NAME?
存储器存储的内容与实际相符,正确。