📄 str2.asm
字号:
;字符串反向输出
SSEG SEGMENT PARA STACK 'stack'
dw 100h dup(0) ;初始化堆栈大小为100
SSEG ENDS
DSEG SEGMENT
INFO1 DB 0DH,0AH,'INPUT STRING:$'
INFO2 DB 0DH,0AH,0DH,0AH,'OUTPUT STRING:$'
BUFA DB 81
DB 80 DUP(0)
BUFB DB 81 DUP(0)
;数据段:在此处添加程序所需的数据
DSEG ENDS
ESEG SEGMENT
;附加段:在此处添加程序所需的数据
ESEG ENDS
CSEG SEGMENT
assume cs:CSEG, ds:DSEG, es:ESEG, ss:SSEG
MAIN PROC ;主程序入口
;start:
mov ax, dseg
mov ds, ax
mov es, ax
LEA DX,INFO1
MOV AH,9 ; 9号调用,显示输入提示信息
INT 21H
LEA DX,BUFA
MOV AH,10 ;10号调用,键盘输入字符串到缓冲区BUFA
INT 21H
LEA SI,BUFA+1
MOV CH,0 ;取字符长度→CX
MOV CL,[SI]
ADD SI,CX ;SI 指向字符串尾部
LEA DI,BUFB ;DI指向字符串变量BUFB
NEXT: MOV AL,[SI]
MOV [DI],AL
DEC SI
INC DI
LOOP NEXT
MOV BYTE PTR [DI],'$'
LEA DX,INFO2
MOV AH,9 ;9号调用,显示输出
INT 21H
LEA DX,BUFB
MOV AH,9 ;反向显示字符串
INT 21H
;此处添加主程序代码
mov ax, 4c00h ;程序结束,返回到操作系统
int 21h
MAIN ENDP
CSEG ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -