👉字符串输入输出👈
DATAS SEGMENT
;此处输入数据段代码
CHANGELINE DB 13,10,'$'
BUF DB 30,?,30 DUP(?)
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,BUF
;键入字符串
MOV AH,0AH
INT 21H
;在输入的字符串最后增加一个'$'
MOV AL,BUF+1
ADD AL,2
MOV AH,0
MOV SI,AX
MOV BUF[SI],'$'
;换行
LEA DX, CHANGELINE
MOV AH,09H
INT 21H
LEA DX,BUF
ADD DX,2 ;输出输入的字符串
MOV AH, 09H
INT 21H
;输出字符个数
mov dl,buf[1]
add dl,48
MOV AH, 02H
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START
;缓存区: 第一位:定义的空间数 第二:实际输入的字符数 第三位: 字符串首地址