利用中断调用实现简单的输入输出

来源:互联网 发布:蛇蛇争霸网络不稳定 编辑:程序博客网 时间:2024/06/13 19:21
从键盘输入一个字符:
功能号01
入口参数:无
功能:等待从键盘读入一个字符,将字符的ASCII码送到AL,同时将该字符显示在屏幕上,调用方法:
mov ah 01h
int 21h
说明:输入一个字符的时候不需要按enter键结束输入,若只按enter键,则AL中就是enter回车的ASCII码。

显示一个字符:
功能号:02
入口参数:DL=要显示的字符的ASCII码
出口参数:无
功能:在当前光标位置显示DL中的字符后,然后光标右移。
调用方法示例:
mov dl, 'A'
mov ah ,02h
int 21h

显示一个字符串:
功能号:09
入口参数: DS:DX=欲显示的字符串在内存中的首地址,字符串必须以'$'作为结束标志,'$'不属于被显示的字符
出口参数:无
功能:在当前光标的位置,显示由DS:DX为首地址,'$'作为结束标志的字符串。
string db 'hello,I am yangwan'
mov ax, seg string
mov ds, ax
mov dx, offset string
mov ah, 09h
int 21h

从键盘读入一个字符串:
功能号:0AH
入口参数: DS:DX = 输入字符串的缓冲区的首地址
输入缓冲区的格式:第0个字节给出输入缓冲区最多能容纳的字符串的个数(1-255,包括回车字符),由应用程序设置,第一个字节
存放实际输入的字符串中字符的个数(不包括回车字符),由系统在输入字符串后自动设置。从第2个字节开始存放实际输入的字符串。
最后回车字符的ASCII码为0DH
出口参数:无
功能:从键盘读入一个字符存放在由DS:DX指定的缓冲区内。
说明:
在输入字符串后,必须按enter键结束输入
当输入的字符个数达到输入缓冲区所能容纳的字符的个数减1的时候,随后的输入将不被系统接收,且响铃警告。
BUF DB 100  ;定义输入缓冲区,最多能容纳99个字符和一个回车字符
       DB  ?     ;定义实际输入的字符串中字符的个数
STR  DB 100 DUP(100)   ;存放实际输入的字符串

MOV  AX ,SEG BUF
MOV DS ,AX
MOV DX, OFFSET BUF
MOV AH,0AH
INT 21H




0 0
原创粉丝点击