| | |
a86 Palindrome
Hey guys.. need some help with this; I'm pulling my hair out.. i've trawled these boards but can't find anything that answers my question.
I, like many others before me (so it seems!) am trying to create a program to check for a palindrome.. this is what I have so far.
In the compare part.. it's just not working. I know I'm doing something wrong with SI and DI.. I just don't know what.
Any explanations would be greatly appreciate!
Thanks,
awuja
I, like many others before me (so it seems!) am trying to create a program to check for a palindrome.. this is what I have so far.
In the compare part.. it's just not working. I know I'm doing something wrong with SI and DI.. I just don't know what.
Any explanations would be greatly appreciate!

Thanks,
awuja
JMP START CR equ 13 ; RETURN is 13D ASCII LF equ 10 ; LINE FEED is 10D ASCII letterUnitCount DB 0 letterTensCount DB 0 vowelCount DB 0 getWord: DB "Please enter a word",CR, LF,"$" letterCountMessage: DB CR, LF, "Number of Characters: ", "$" msg1: DB CR, LF, " this is palindrome!", "$" msg2: DB CR, LF, " this is not a palindrome!", "$" inWord: DB 128 DUP (0) START: LEA DX,getWord ;Output string asking user for word MOV AH,09h ;DOS call to output string INT 21H ;Execute interrupt 21H KEYBUF: LEA DI,inWord ;Load inWord start address into DI NEXTCHAR: MOV AH,01h INT 21H ;Read key pressed and echo to screen CMP letterUnitCount, 10 JE ROLLOVER UNIT: INC letterUnitCount ;CMP AL, 65 ;JE INCRVOWEL ;CMP AL, 97 ;JE INCRVOWEL STORE: MOV [DI],AL ;store in inWord at position [DI] INC DI ;Make DI point to next byte in inWord CMP AL,0Dh ;Was it the carriage return key? JNZ NEXTCHAR ;NO, get some more characters MOV [byte ptr DI],"$" ;YES, add end of string marker MOV SI, DI COMPARE: ADD SI, DI DEC SI MOV AL, [DI] MOV DL, AL MOV AH, 2 INT 21h MOV BL, [SI] MOV DL, BL MOV AH, 2 INT 21h CMP AL,BL JNE NOTPAL INC DI DEC SI LOOP COMPARE ISPAL: MOV DX, msg1 MOV AH, 09h INT 21h NOTPAL: MOV DX, msg2 MOV AH, 09h INT 21h
Similar Threads
- To form a palindrome of a given string (C)
- Help on stack , queue, palindrome program... (C++)
- palindrome program (Legacy and Other Languages)
- stack palindrome problem? (C++)
| Thread Tools | Search this Thread |
Tag cloud for Assembly
3d 68hc11 6811 80386 :( adress array asm assembler assembly boot bootloader buffer compression cursor debug directory division docs dos draw emulator endtask error exceptions file int10h integer intel interrupt interrupts language loop mmx newbie nohau osdevelopment print program range read remainder shape string text theory tsr x86



