0
对于输入abcd
,输出是dcbc
,但它实际上应该是dcba
。 因此而不是a
它正在打印c
。汇编语言字符串反转
这可能是愚蠢的。抱歉。但是我在这方面浪费了几个小时。
这是我的代码:
.model small
.stack 100h
.data
msg1 db 10,13,"enter the string:","$"
maxlen db 100
act_len db 0
act_data db 100 dup('$')
Newline db 13,10,"$"
msg2 db 10 dup('$')
.code
start:
mov ax,@data
mov ds,ax
lea dx, msg1
mov ah,09h
int 21h
mov ah,0ah
lea dx, maxlen
int 21h
mov cl,act_len
mov ch,0
lea si,act_data
add si,cx
dec si
dec cx
lea di,msg2
rev:
mov ax,[si]
mov [di],ax
inc di
dec si
dec cx
jnz rev
mov ah,09h
lea dx,Newline
int 21h
mov ah,09h
lea dx,msg2
int 21h
mov ah,4ch
int 21h
end start