2016-11-20 43 views
1

这段代码有什么问题?我期待这个程序能够反转字符串并显示它。字符串反转码错误

;String reverse (Problem is it is displaying any output) 
.model small 
.stack 100h 
.data 
    text1 db 'HELLO WORLD $' 
    text2 db 13 dup(?) 
    count dw 13 
.code 
    main proc 
    mov ax, @data 
    mov ds,ax 
    mov es,ax 
    mov cx,count 
    mov si,0 
    mov di,0 
    add di,count 
    dec di 

again: mov al,text1[si] 
    mov text2[di],al 
    inc si 
    dec di 
    loop again 

    lea dx,text2 
    mov ah,9 
    int 21h 

    mov ah,4ch 
    int 21h 
    main endp 
end main 

回答

3

倒车时(并希望显示结果!),你不应该允许原$字符被移动到结果的开始。

在13代替设置计数 12应该做的伎俩只要你改变文本2定义:

text2 db 12 dup(?), "$"