2
私は自分のコンピュータアーキテクチャクラスの課題を取り組んでいます。私はキーボードから文字列を入力し、それが回文かどうかを確認するはずです。 INT 21h
を使用することはできません。キーボード入力ではなくdb string value
というプログラムを書いていますが、私はまだCMP
を正しく動作させることができません。私はこれが間違っていると確信しています。うまくいけば誰かが助けることができる。emuのINT 21hのないパリンドロムの文字列を確認してください。8086
#make_COM#
include emu8086.inc
org 100h
jmp init
msg db "kayak",0
init:
Mov SI,5
mov di,0
start:
mov al,msg[si]
dEC si
inc di
mov ah ,0eh
int 10h
cmp si, -1
jg start
check:
mov al, msg[si]
mov ah, msg[di]
cmp al, ah
jmp notpalin
inc si
dec di
cmp si, 5
jl check
palin:
call pthis
db "This is a palindrome", 0
jmp stop
notpalin:
call pthis
db "This is not a palindrome", 0
jmp stop
stop:
mov ah, 0
int 16h ; wait for any key....
ret ; return to operating system.
DEFINE_PTHIS
すごいああ、私はその後、私は実現たくさん近かったです。見落としの間違い。あなたのソリューション@Sep Rolandに感謝して、私がどこに間違っていたのか理解できました。 – remedy