Skip to main content

A palindrome checker in 16-bit DOS assembly

A good morning to start off is to get this simple program working. This is an improvement of the previous palindrome checker posted. What can we benefit from this anyway? :)



; palindrome checker

start:
mov ah, 0ah
lea dx, strptr
int 21h

lea di, string
lea si, strlen
mov cl, [si]
xor ch, ch
mov bx, cx
lea si, string
shr cl, 1

check:
mov dl, [si]
mov dh, [di+bx-1]
cmp dl, dh
jne notpal
inc si
dec di

loop check

cmp dl, dh
je pal

notpal:
mov ah, 09h
lea dx, msg2
int 21h
int 20h

pal:
mov ah, 09h
lea dx, msg1
int 21h
int 20h

strptr label byte
maxlen db 49
strlen db ?
string db 50 dup ('$')
msg1 db '',10,'string is a palindrome!$'
msg2 db '',10,'string is not a palindrome!$'

“If God’s people which are called by His name, will humble themselves and pray, and seek His face, and turn from their wicked ways; then He will hear from heaven, and will forgive their sins, and will heal their land.” - 2 Chron 7:14

Comments

Popular posts from this blog

Architecture Complexity

Here are the items to consider: Coding to an interface Service Oriented Architecture Automated Testing Domain Driven Design Custom Data Access Layer Layered architecture Complexity is relatively equal the number of lines of code. Note that complexity is not bad. It must be justified.

Repair Windows 7 System Files

8 out of 10 average PC users have their box’s system files altered by malwares, viruses, etc. We usually reinstall the OS if the antivirus and anti malware software did not perform their job well. Here’s one way to fix the corrupted system files without the need of restarting your Windows 7 box. 1. Run the Command Prompt as Administrator 2. Type the following command C:\Windows\system32\> sfc /scannow 3. After the verification phase, you will receive a message about your system files’ integrity Windows Resource Protection did not find any integrity violations.