熟悉DOS编程环境:编写一个DOS环境的汇编语言程序,要求从键盘输入一串字符,并逆序显示。
;任意输入一个字符串,倒序显示在屏幕上
;相较于Beta版 改进了只能输入255个字符的限制(输入缓冲区的限制)
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
CRLF DB 0DH,0AH,'$' ;回车换行
DATA ENDS
CODE SEGMENT
START:
MOV AX,DATA ;将DATA和DS挂钩
MOV DS,AX
MOV CX,0
INPUT: ;DOS系统功能调用,1号,带回显的字符输入并识别ctrl+c
MOV AH,1
INT 21H
CMP AL,0DH ;用户输入回车时代表输入结束
JZ OUTP
PUSH AX ;将接受的字符入栈
INC CX ;CX计算字符数
JMP INPUT
OUTP:
MOV AH,9 ;DOS系统功能调用,9号,输出字符串
LEA DX,CRLF
INT 21H ;输出回车换行
OUTPUT:
POP DX ;出栈 实现逆序输出
MOV AH,2 ;DOS系统功能调用,2号,一个字符一个字符的输出
INT 21H
LOOP OUTPUT
MOV AX,4C00H
INT 21H
CODE ENDS
END START