、系统功能调用方法 系统功能调用中的几十个子程序成为汇编语言程序 员的重要工具,调用它们时采用统一的格式,只需 要使用三个语句,如下所示: (1)传送入口参数到指定寄存器中; (2)功能号送入AH寄存器中; (3)INT21H。 有的子程序无入口参数,则只需安排后两个语句, 调用结束后,系统将出口参数送到指定寄存器中或 从屏幕显示出来。 微机原理及应用
11 微机原理及应用 二、系统功能调用方法 ◼ 系统功能调用中的几十个子程序成为汇编语言程序 员的重要工具,调用它们时采用统一的格式,只需 要使用三个语句,如下所示: (1)传送入口参数到指定寄存器中; (2)功能号送入AH寄存器中; (3)INT 21H。 有的子程序无入口参数,则只需安排后两个语句, 调用结束后,系统将出口参数送到指定寄存器中或 从屏幕显示出来
12 常用的系统功能调用P159 常用的系统功能调用有以下14个: (1)键盘输入单字符 (7)从串口输入单字符 (2)键盘输入字符串 (8)向串口输出单字符 (3)输出单字符 (9)返回操作系统 (4)输出字符串 (10)设置日期 (5)设置时间 (11)取得日期 (6)取得时间 (12)无回显键盘输入单字符 (13)直接控制台输入/输出单字符 (14)无回显直接控制台输入单字符 微机原理及应用
12 微机原理及应用 常用的系统功能调用P159 ◼ 常用的系统功能调用有以下14个: (1)键盘输入单字符 (7)从串口输入单字符 (2)键盘输入字符串 (8)向串口输出单字符 (3)输出单字符 (9)返回操作系统 (4)输出字符串 (10)设置日期 (5)设置时间 (11)取得日期 (6)取得时间 (12)无回显键盘输入单字符 (13)直接控制台输入/输出单字符 (14)无回显直接控制台输入单字符
13 键盘输入单字符 键盘输入单字符——1号系统功能调用 格式: MOV AH. 1 INT 21H 说明:该调用没有入口参数,执行1号系统功能调用 时,系统等待键盘输入,待程序员按下任何一键,系 统先检查是否Ctr1- Break键,如果是则退出,否则将 键入字符的ASCI码置入AL寄存器中,并在屏幕上显 示该字符。 注意:区分1、7和8号功能 微机原理及应用
13 微机原理及应用 键盘输入单字符 ◼ 键盘输入单字符——1号系统功能调用 ◼ 格式: MOV AH , 1 INT 21H ◼ 说明:该调用没有入口参数,执行1号系统功能调用 时,系统等待键盘输入,待程序员按下任何一键,系 统先检查是否Ctrl-Break键,如果是则退出,否则将 键入字符的ASCII码置入AL寄存器中,并在屏幕上显 示该字符。 ◼ 注意:区分1、7和8号功能
14 单字符输入例 GET KEY: MOV AH,1;输入的字符在AL中 INT 21H CMP AL. 'Y' 交互式应 CMP AL,N。°答程序 JZ YES JZ NO 当第一、二条指令执行完时 JNZ GET KEY系统等待键盘按键。按下任 YES 字符时,AL中的内容即为该字 符的ASCI码,同时显示器上 NO 显示出所按下的字符。 微机原理及应用
14 微机原理及应用 单字符输入例 GET_KEY: MOV AH,1 INT 21H CMP AL, ’Y’ JZ YES CMP AL, ’N’ JZ NO JNZ GET_KEY YES: ┇ NO: ┇ 交互式应 答程序 ;输入的字符在AL中 当第一、二条指令执行完时, 系统等待键盘按键。按下任一 字符时,AL中的内容即为该字 符的ASCII码,同时显示器上 显示出所按下的字符
15 键盘输入字符串 键盘输入字符串一一0AH号系统功能调用 格式: BUF DB 20 DB 在数据段中 DB 20 DUP(?) 定义缓冲区 MOV DX, OFFSET BUF;字符串在内存中的存放地址 MOV AH, OAH ;代码段中0A功能调用 INT 21H 微机原理及应用
15 微机原理及应用 键盘输入字符串 ◼ 键盘输入字符串—— 0AH号系统功能调用 ◼ 格式: BUF DB 20 DB ? DB 20 DUP( ?) : : : MOV DX,OFFSET BUF MOV AH,0AH INT 21H ;代码段中0A功能调用 ;字符串在内存中的存放地址 在数据段中 定义缓冲区