; convert small letters to capital AND vice-versa
mov ah,0ah
lea dx,parameter
int 21h
mov ah,02
mov dl,0ah
int 21h
mov dl,0dh
int 21h
; initialize
lea si, input
xor cx, cx
mov cl, [actlen]
; We wish to check if character is a letter
; if yes, capitalize small letters and vice-versa
; if no, copy character
invert:
mov al, [si]
cmp al, 122
ja skip
cmp al, 96
ja capital
cmp al, 90
ja skip
cmp al, 63
jb skip
add al, 32
jmp store
capital:
sub al, 32
store:
mov [si], al
skip:
inc si
loop invert
mov ah, 09
lea dx, input
int 21h
int 20h
parameter label byte
maxlen db 0FF
actlen db ?
input db 0FF dup(’$')
All comments are moderated. Your comments will not appear here unless approved by the blog owner. Thank you.
Acordingly you can
replace 0FF with -1
so, maxlen db -1
Posted by phengpheng at August 4, 2006, 8:50 pm