0x15中断 bios bios和dos中断例程 |
您所在的位置:网站首页 › stm32f4按键外部中断例程 › 0x15中断 bios bios和dos中断例程 |
BIOS和DOS中断大全列程_DOS中断_01字符调用类 字符功能调用类(Character-Oriented Function)
中断INT 21H : 目录:01H、07H和08H —从标准输入设备输入字符02H —字符输出03H —辅助设备的输入04H —辅助设备的输出05H —打印输出06H —控制台输入/输出09H —显示字符串0AH — 键盘缓冲输入0BH —检测输入状态0CH —清输入缓冲区的输入功能 (1)、功能01H、07H和08H
功能描述: 从标准输入设备(如:键盘)读入一个字符。该中断在处理过程中将一直处于等待状态直到有字符可读为止。该输入还可被重定向,如果这样做,则无法判断文件是否已到文件尾 入口参数: AH =01H,过滤掉控制字符,并回显 =07H,不过滤掉控制字符,不回显 =08H,过滤掉控制字符,不回显 出口参数:AL=输入字符的ASCII码 例程: 1: assume cs:code 2: 3: ; 演示int 21h 中断中的 01h, 07h, 08h 4: code segment 5: ; 过滤控制字符串, 并且回显 6: ; output: al 7: readStr: 8: mov ah, 01h 9: int 21h 10: ret 11: 12: ; 过滤控制字符串, 不回显 13: readStrNotShow: 14: mov ah, 08h 15: int 21h 16: ret 17: 18: ; 不过滤控制字符串, 不回显 19: readStrNotShow2: 20: mov ah, 07h 21: int 21h 22: ret 23: start: 24: ;读入10个字符 25: mov cx, 10 26: s: 27: call readStrNotShow2 28: loop s 29: mov ax, 4c00h 30: int 21h 31: code ends 32: end start1: assume cs:code31: code ends(2)、功能02H 功能描述: 向标准输出设备(如:屏幕)输出一个字符。该输出还可被重定向,如果这样做,则将无法判断磁盘是否满 入口参数: AH=02HDL=待输出字符的ASCII码出口参数:无 例程: 1: assume cs:code 2: 3: code segment 4: start: 5: mov ah, 02h 6: mov dl, 'A' 7: int 21h 8: 9: mov ax, 4c00h 10: int 21h 11: code ends 12: end start2:12: end start(3)、功能03H功能描述:从辅助设备读入一个字符,该辅助设备的缺省值为COM1入口参数:AH=03H出口参数:AL=读入字符的ASCII码 (4)、功能04H功能描述:向辅助设备输出一个字符,该辅助设备的缺省值为COM1入口参数: AH=04HDL=待输出字符的ASCII码出口参数:无 (5)、功能05H功能描述:向标准的输出设备输出一个字符。该缺省的输出设备为LPT1端口的打印机,除非用MODE命令来改变入口参数: AH=05HDL=待输出字符的ASCII码出口参数:无 (6)、功能06H功能描述:控制台(如:键盘、屏幕)输入/输出。如果输入/输出操作被重定向,那么,将无法判断文件是否已到文件尾,或磁盘已满入口参数:AH=06H,DL=输入/输出功能选择出口参数:若DL=00H-FEH,则此功能为输出,DL为待输出字符的ASCII码;若DL=0FFH,则此功能为输入,此时:若ZF=1,则无字符可读,否则,AL=读入字符的ASCII码 (7)、功能09H功能描述:输出一个字符串到标准输出设备上。如果输出操作被重定向,那么,将无法判断磁盘已满入口参数: AH=09HDS:DX=待输出字符的地址说明:待显示的字符串以’$’作为其结束标志出口参数:无 例程: 1: assume cs:code 2: 3: data segment 4: str db '123456789$', 0 5: data ends 6: 7: ; int 21h ah=09h 根据ds:dx来定位要输出的字符串 字符串用$结尾 8: code segment 9: start: 10: mov ax, data 11: mov ds, ax 12: 13: lea dx, str 14: mov ah, 09h 15: int 21h 16: 17: mov ax, 4c00h 18: int 21h 19: code ends 20: end start(8)、功能0AH功能描述: 从标准输入设备上读入一个字节字符串,遇到“回车键”结束输入(输入的字符在标准的输出设备上有回显)。如果该输入操作被重定向,那么,将无法判断文件是否已到文件尾 入口参数: AH=0AHDS:DX=存放输入字符的起始地址接受输入字符串缓冲区的定义说明: 1、第一个字节为缓冲区的最大容量,可认为是入口参数; 2、第二个字节为实际输入的字符数(不包括回车键),可看作出口参数; 3、从第三个字节开始存放实际输入的字符串; 4、字符串以回车键结束,回车符是接受的最后一个字符; 5、若输入的字符数超过缓冲区的最大容量,则多出的部分被丢弃,系统并发出响铃,直到输入“回车”键才结束输入。 例如: BUFF 80, ?, 80 DUP(?) ;最多接受80个字符出口参数:无 例程: 1: assume cs:code 2: 3: data segment 4: str db 80, ?, 80 dup(0) 5: data ends 6: 7: ; int 21h ah=09h 根据ds:dx来定位要输出的字符串 字符串用$结尾 8: code segment 9: start: 10: mov ax, data 11: mov ds, ax 12: 13: lea dx, str 14: mov ah, 0Ah 15: int 21h 16: 17: mov ax, 4c00h 18: int 21h 19: code ends 20: end start(9)、功能0BH功能描述:检查标准输入设备上是否有字符可读。该输入操作可被重定向入口参数:AH=0BH出口参数:AL=00H——无字符可读;FFH——有字符可读 (10)、功能0CH功能描述:清空当前的标准输入缓冲区,再读入字符。其输入操作可被重定向入口参数:AH=0CHAL=01H、06H、07H、08H或0AH出口参数:若入口参数AL为0AH,则DS:DX=存放输入字符的起始地址,否则,出口参数AL=输入字符的ASCII码
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |