功能调用:
DOS功能调用:
[01H]输入一个字符,同时显示到屏幕上
AL=按键的ASCII码。
输入8后,AL=08H
[02H]显示一个字符
DL=待显示的字符的ASCII码
屏幕显示'A'
2号功能破坏AL内容。
[09H]显示字符串
DX=字符串首地址,字符串必须以'$'(ASCII码为24H)结尾。
9号功能破坏AL内容
[0AH]输入字符串,保存在数据缓冲区,同时在屏幕上显示字符串
DX=输入缓冲区首地址。
回车符(0DH)也要保存在缓冲区中。
缓冲区首单元存放可容纳的字符个数,包括回车符。
实际接受字符个数(不包括回车符)放入BUF+1
所以缓冲区容量大于等于输入串长度+2。
如果输入的字节数少于定义的字节数,缓冲区其余字节补零。
如果输入的字节数大于定义的字节数,后来输入的字符丢弃。
数据段
代码段:
BIOS功能调用:
输入中断号:16 H
[00H]读取一个字符,无回显
AL=输入字符的ASCII码
[01H]查询键盘缓冲区?
输出功能调用:中断号10H
[0EH]显示一个字符
AL=待显示字符的ASCII码
显示字符‘F’
在屏幕上显示‘I AM A STUDENT’
例:询问用户姓名并等待用户输入,用户输入姓名后按Enter键,程序再把输入的姓名复制显示到屏幕上
键盘按下一个字符,如果是‘Y’,屏幕输出‘YES’。否则输出'NO'
如果AL是y,则显示s1;否则显示s2
MOV DX,OFFSET S1
CMP AL,'y'
JZ NEXT
MOV DX,OFFSET S2
NEXT:
MOV AH,9
INT 21H
分支:
比较变量A1和A2两个有符号数大小,将较大的数存放在AL寄存器中。
将BX寄存器的内容以二进制数格式显示在屏幕上
某科室9人,统计月收入在2000~4000的人数,并用十进制数显示
求1~100的累加和
假设从BUF单元开始为一个ASCSII码字符串,找出其中的最大数送屏幕显示。