如何使同汇编语言编写从键盘输入一段字符串然后逆序输出

2024-12-26 11:10:14
推荐回答(1个)
回答1:

先前回答过该问题,现发给你。

;运行示范如下
;C:\R
;HXGSFHSDG736RU3GRH32867VF847TBF47EHF78CGY4RCY4M8CEW7YDNRG

;GRNDY7WEC8M4YCR4YGC87FHE74FBT748FV76823HRG3UR637GDSHFSGXH
;C:\
;用MASM5.0编译通过

DATA SEGMENT

DB 512 DUP('$') ;定义可输入的字符个数
BUF DB '$'
CRLF DB 0DH,0AH,24H ;回车换行符
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX

MOV BX,OFFSET BUF ;指针指向待显示字符串尾部
AGAIN:
MOV AH,01 ;输入字符
INT 21H
CMP AL,0DH ;是回车吗
JE DISP ;是,转显示
DEC BX ;指针减1
MOV [BX],AL ;存入输入的字符
JMP AGAIN ;继续输入

DISP:
MOV AH,09 ;显示
MOV DX,OFFSET CRLF ;回车换行
INT 21H
MOV DX,BX ;定位待显示字符串首地址
MOV AH,09
INT 21H ;显示

MOV AH,4CH ;DOS返回
INT 21H
CODE ENDS
END START