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