汇编语言实现字符串的输入,输出

汇编语言实现字符串的输入,输出

1.了解INT 21H的09H号中断调用(输出字符串)

① LEA DX,字符串的开头 或 MOV DX,OFFSET字符串的开头

② MOV AH,09H

③ INT 21H

2.在定义字符串的时候要在末尾加上'$'作为字符串的结束标志。

3.了解INT 21H的0AH号中断调用(输入字符串)

① LEA DX,字符串的开头 或 MOV DX,OFFSET字符串的开头

② MOV AH,0AH

③ INT 21H

4.在定义内存空间存储字符串时,类似于定义C语言的数组

5.源代码:

DATA SEGMENT

INPUT DB "Please input a string: ",'$'

OUTPUT DB "Your input is: ",'$'

BUFFER DB 20 ;预定义20字节的空间

DB ? ;待输入完成后,自动获得输入的字符个数

DB 20 DUP(0)

CRLF DB 0AH, 0DH,'$'

DATA ENDS

STACK SEGMENT STACK

DW 20 DUP(0)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA, SS:STACK

START:

MOV AX, DATA

MOV DS, AX

LEA DX, INPUT ;打印提示输入信息

MOV AH, 09H

INT 21H

LEA DX,BUFFER ;接收字符串

MOV AH, 0AH

INT 21H

MOV AL, BUFFER+1 ;对字符串进行处理

ADD AL, 2

MOV AH, 0

MOV SI, AX

MOV BUFFER[SI], '$'

LEA DX, CRLF ;另取一行

MOV AH, 09H

INT 21H

LEA DX, OUTPUT ;打印提示输出信息

MOV AH, 09H

INT 21H

LEA DX, BUFFER+2 ;输出输入的字符串

MOV AH, 09H

INT 21H

LEA DX, CRLF ;另取一行

MOV AH, 09H

INT 21H

MOV AH, 4CH ;返回DOS系统

INT 21H

CODE ENDS

END START

6.程序输出

7.有趣的是在汇编语言中字符串输入的结束是以回车键,空格键不起结束作用。

相关故事

金蝶云·星空PLM云可以为您实现
365bet体育在线中文

金蝶云·星空PLM云可以为您实现

[科普中国]
365bet体育在线中文

[科普中国]

王者荣耀战区哪里分最低 王者荣耀上分战区推荐
365bet体育在线中文

王者荣耀战区哪里分最低 王者荣耀上分战区推荐