关于数据输入和输出我们这里只讨 论键盘输入和显示输出,调用系统功能 需要提供入口参数及所调用的功能号, 调用结束返回结果。 1.D0S键盘功能调用 (1)从键盘输入一个字符(功能号=1) MOV AH. 1 INT 21H <AL中有键入的字符
11 关于数据输入和输出我们这里只讨 论键盘输入和显示输出,调用系统功能 需要提供入口参数及所调用的功能号, 调用结束返回结果。 1. DOS键盘功能调用 (1) 从键盘输入一个字符(功能号=1) MOV AH,1 INT 21H <AL中有键入的字符>
例:程序中有时需要用户对提示做出应答 GET KEY: MOV AH. 1 等待键入字符 INT 21H 结果在AL中 MP AL.'Y 疋 JZ YES ;是,转YES CMP AL,N ;是’N? JZ NO ;是,转NO JMP GET KEY;否 则继续等待输入 YES NO
12 例:程序中有时需要用户对提示做出应答。 GET_KEY: MOV AH,1 ;等待键入字符 INT 21H ;结果在AL中 CMP AL,’Y’ ;是’Y’? JZ YES ;是,转YES CMP AL,’N’ ;是’N’? JZ NO ;是,转NO JMP GET_KEY ;否则继续等待输入 YES: … … NO: …
(2)输入字符串(功能号=0AH) 此功能调用从键盘输入一串字符并把它 存入用户指定的缓冲区中。 MOV AH. OAH LEA DX,<字符串缓冲区首地址〉 INT 21H 用户定义的输入字符串的缓冲区格式 N (预留的N1个字节的存储单元) ODH N1:缓冲区长度(最大键入字符数 N2:实际键入的字符数(不包括回车符
13 (2) 输入字符串(功能号=0AH) 此功能调用从键盘输入一串字符并把它 存入用户指定的缓冲区中。 MOV AH, 0AH LEA DX, <字符串缓冲区首地址> INT 21H N1 N2 (预留的N1个字节的存储单元) 0DH N1: 缓冲区长度(最大键入字符数) N2: 实际键入的字符数(不包括回车符) 用户定义的输入字符串的缓冲区格式