答案参考
从键盘接收一串字符,并另起一行逆序显示该字符串。
;可以这样考虑:
;1.利用DOS 21H中断的A号功能,读取一个字符串,这样可以取得字符串的长度N。
;2.MOV CX,N,利用LOOP指令,倒序输出字符串。
;代码如下:
; MULTI-SEGMENT EXECUTABLE FILE TEMPLATE.
DATA SEGMENT
BUF0 DB 255 ;字符串最大长度
DB 0 ;输入的字符串的实际长度
BUF1 DB 255 DUP(0)
LF DB 0DH, 0AH, '$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
LEA DX, BUF0 ;READ A STRING
MOV AH, 0AH ;
INT 21H ;
LEA DX,LF ;输出回车换行
MOV AH,9 ;
INT 21H
XOR CX,CX
MOV CL,BUF0+1 ;CX存入字符串长度,循环计数
MOV BX,CX
MOV AH,0EH ;10H中断,0EH子功能,输出AL中的字符
L1: