Skip to main content

常见中断表

21H DOS 中断#

01H(21H)#

  • 等待键入一个字符,有回显,响应Ctrl_C
  • 出口参数: AL=按键的ASCII码。若AL=0,表明按键是功能键,光标键,需再次调用本功能,才能返回按键的扩展码。

02H(21H)#

  • 显示一个字符,响应Ctrl_C,本功能在屏幕的当前位置显示一个字符,光标右移一格,如果是在一行末尾显示字符,则光标返回下一行的开始格。如果是在屏幕的右下角显示字符,光标返回时屏幕要上滚一行。注意:该功能要破坏AL寄存器的内容。
  • 入口参数: DL=待显字符的ASCII码

07H(21H)#

  • 等待键入一个字符,无回显,不响应Ctrl_C
  • 出口参数:AL=按键的ASCII码,若AL=0,需再次调用该项功能才能在AL中得到按键的扩展码

08H(21H)#

  • 等待键入一个字符,无回显,响应Ctrl_C
  • 出口参数: AL=按键的ASCII码,若AL=0,需再次调用该项功能才能在AL中得到按键的扩展码。

09H(21H)#

  • 显示字符串,响应Ctrl_C, 9号功能破坏AL寄存器的内容。该项功能从屏幕当前位置开始,显示字符串,遇到结束标志‘$’时停止,‘$’字符并不显示
  • 入口参数: DS:DX=字符串首地址,字符串必须以‘$'(即ASCII码24H)为结束标志

0AH(21H)#

  • 等待键入一串字符送到用户程序数据缓冲区缓冲区定义的第二个字节由系统设置,其余由用户定义;输入的字节数少于定义的字节数,缓冲区其余字节补零;输入的字节数大于定义的字节数,后来输入的字符丢弃且响铃警告。DOS功能调用
  • DS:DX指向放键入字符的缓冲区。缓冲区定义形式规定为
  • 存放于缓冲区的字符串,以回车键结尾

16H BIOS 中断#

功能号功能入口参数出口参数
00H读取键入的一个字符,无回显,响应Ctrl_C,无键入则等待AL=键入字符的ASCII码。若AL=0,则AH=键入键的拓展码
01H查询键盘缓冲区Z标志=0,表示有键入,键代码仍留在键盘缓冲区中,此时AL=键入字符的ASCII码,AH=键入字符的扩展码。
Z标志=1,表示无键入。

10H Graphic interrupt图像中断#

00H(10H)#

  • 设置屏幕显示方式,与21H 8号功能类似
  • 入口参数
    • AL=0 40x25 黑白文本方式
    • AL=1 40x25 彩色文本方式
    • AL=2 80x25 黑白文本方式
    • AL=3 80x25 彩色文本方式
  • 出口参数:无

01H(10H)#

  • 查询键盘缓冲区
  • 入口参数:无
  • 出口参数
    • Z标志为0,表示有键入,键入码仍留在键盘缓冲区中,此时AL=键入字符的ASCII码,AH=键入字符的拓展码
    • Z=1,表示无键入

02H(10H)#

  • 预置光标位置
  • 入口参数
    • BH=显示页号
    • DH=行号
    • DL=列号
  • 出口参数:无

03H(10H)#

  • 读取光标的当前位置
  • 入口参数
    • BH=显示页号
    • CH、CL=光标顶部扫描线、低部扫描的行号
    • DH、DL=光标在屏幕上的行、列号 |

0EH(10H)#

  • 显示一个字符
  • 入口参数
    • AL=待显示的ASCII码
    • 21H的02功能与INT 10H的0EH功能 一致,但是前者待显示字符放在DL中,后者放在AL中|
  • 出口参数:无

13H(10H)#

  • 显示字符串
  • 入口参数
    • AL=0~3:AL=0、1时有效13H功能是唯一能显示彩色字符的子功能字
    • BH=显示页号,BL=属性字
    • CX=串长度
    • DH、DL=字符串显示的起始行、列号
    • ES:BP=待显字符串首地址
  • 出口参数:无

彩色编码表#

D7D6D5D4D_7 D_6 D_5 D_4(背景)
D3D2D1D0D_3 D_2 D_1 D_0(前景)
颜色D7D6D5D4D_7 D_6 D_5 D_4(背景)
D3D2D1D0D_3 D_2 D_1 D_0(前景)
颜色
00001000
00011001浅蓝
0010绿1010浅绿
00111011浅青
01001100浅红
0101品红1101浅品红
01101110
0111灰白1111

33H Mouse interrupt鼠标中断#

未整理