5.1.2字符与字符串的输八/输出方法 3.显示一个字符串 功能号:09H 入口参数:DSDX=欲显示字符串在内存的首地址,且字符串必须以$(24H)作为 结束符。 功能:在当前光标位置,显示由DS:DX所指的、以$结尾的字符串,且光标右移。其 中,$不算在显示的字符串之内 调用方法示例: String db ' Hello!. 'S 显示字符申Hell mov ax, seg String mov mov dx, offset String mov nt 21h 2021//21 80x86汇编语言程序设计
2021/1/21 80x86汇编语言程序设计 5.1.2 字符与字符串的输入/输出方法 3. 显示一个字符串 功能号:09H 入口参数:DS:DX = 欲显示字符串在内存的首地址,且字符串必须以'$'(24H)作为 结束符。 功能:在当前光标位置,显示由DS:DX所指的、以'$'结尾的字符串,且光标右移。其 中,'$'不算在显示的字符串之内。 调用方法示例: String db 'Hello!', '$' ; 显示字符串'Hello!' mov ax, seg String mov ds, ax mov dx, offset String mov ah, 9 int 21h
5.1.2字符与字符串的输八/输出方法 4.从键盘读入一个字符串 功能号:0AH 入口参数:DSDX=输入缓冲区首地址 输入缓冲区格式:第0字节事先设置为缓冲区最多能容纳的字符个数(包括回车);第1 字节将存放实际字符个数(不包括回车),由系统自动设置;从第2字节开始存放实际输 入的字符串,最后为回车符。 功能:从键盘读入一个字符串,存入DSDX所指的缓冲区。 调用方法示例: buf 10,2,10dup(?);定义输入缓冲区 mov buf mov ds dx, buf mov ah, Oah 21h 2021//21 80x86汇编语言程序设计
2021/1/21 80x86汇编语言程序设计 5.1.2 字符与字符串的输入/输出方法 4. 从键盘读入一个字符串 功能号:0AH 入口参数:DS:DX = 输入缓冲区首地址 输入缓冲区格式:第0字节事先设置为缓冲区最多能容纳的字符个数(包括回车);第1 字节将存放实际字符个数(不包括回车),由系统自动设置;从第2字节开始存放实际输 入的字符串,最后为回车符。 功能:从键盘读入一个字符串,存入DS:DX所指的缓冲区。 调用方法示例: buf db 10, ?, 10 dup (?) ; 定义输入缓冲区 mov ax, seg buf mov ds, ax lea dx, buf mov ah, 0ah int 21h
5.1.2字符与字符串的输八/输出方法 5.字符与字符串的输入/输出举例 DOS系统调用只提供了字符与字符串的输入输出方法。如果要输入输出其它类型 的数据,如常用的整数,则必须由应用程序来实现与字符之间的转换。例如,欲输 出整数126,只能以字符(串)的方式输出1、"2、6。 对于程序员来说,在需要用户输入时给出输入提示,对输入数据进行有效性检查 在输出结果时说明其表示的含义,是一种好的设计习惯。 2021//21 80x86汇编语言程序设计
2021/1/21 80x86汇编语言程序设计 5.1.2 字符与字符串的输入/输出方法 5. 字符与字符串的输入/输出举例 ▪ DOS系统调用只提供了字符与字符串的输入/输出方法。如果要输入/输出其它类型 的数据,如常用的整数,则必须由应用程序来实现与字符之间的转换。例如,欲输 出整数126,只能以字符(串)的方式输出'1' 、 '2' 、 '6' 。 ▪ 对于程序员来说,在需要用户输入时给出输入提示,对输入数据进行有效性检查, 在输出结果时说明其表示的含义,是一种好的设计习惯