このコードは、文字列が回文かどうかをチェックする必要があります。
ただし、どの文字列に対しても常に「yes」が出力されます。この問題を解決するにはどうすればよいですか?
エラーはいくつかのジャンプ命令にあると思います。
エラーは何ですか?
include inout.asm
.model small,c
.stack 200h
.data
pal db "rear"
;pal db 200 dup("mohammad")
pal_len equ $ - pal - 1
szYes db "yes$"
szNo db "no$"
.code
.startup
;call gets,offset pal
call puts,offset pal
lea si, pal
lea di, pal
add di, pal_len
mov cx, 0
CheckIt:
mov al, byte ptr [si]
mov dl, byte ptr [di]
cmp al, dl
jne No
inc si
dec di
inc cx
cmp cx, pal_len
JNE CheckIt
lea dx,szYes
jmp done
No:
lea dx,szNo
done:
.exit
end