저는 컴퓨터 아키텍처 클래스에 대한 과제를 진행하고 있으며, 모든 것을 잘 이해하지 못합니다. 나는 키보드에서 문자열 입력을 받아야하고 그것이 회문인지 여부를 확인해야합니다. INT 21h
을 사용할 수 없습니다. 키보드 입력보다는 db string value
으로 프로그램을 작성했지만 여전히 제대로 작동하려면 CMP
을 얻을 수 없습니다. 나는이 잘못하고 있다고 확신한다. 희망을 갖고 누군가가 도울 수 있기를 바랍니다.emu에서 INT 21h없이 palindrome에 대한 문자열을 검사하십시오. 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