This is a simple case inverter, if you want to try this out download the a86 assembler here. It works like a charm in dosemu-freedos.
; case inverter
start:
mov ah, 0ah
lea dx, strptr
int 21h
lea si, string
mov cl, [strlen]
check:
mov al, [si]
cmp al, 'Z'
ja lowercase
cmp al, 'a'
jb uppercase
lowercase:
cmp al, 'a'
jb traverse
cmp al, 'z'
jbe toupper
uppercase:
cmp al, 'Z'
ja traverse
cmp al, 'A'
jae tolower
toupper:
sub al, 32
mov [si], al
jmp traverse
tolower:
add al, 32
mov [si], al
traverse:
inc si
loop check
mov ah, 02h
mov dl, 10
int 21h
mov ah, 09h
lea dx, string
int 21h
int 20h
strptr label byte
maxlen db 49
strlen db ?
string db 50 dup ('$')
“Fortune favors the prepared mind.” - Louis Pasteur
No comments:
Post a Comment