assume cs:code,ds:data
data segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends
code segment
start:
mov ax,data
mov ds,ax
mov si,0
call letterc
mov si,0
mov di,0
mov ax,0b800h
mov es,ax
call show
mov ax,4c00h
int 21h
letterc:
mov al,[si]
inc si
cmp al,0
je ok
cmp al,'a'
jb letterc
cmp al,'z'
ja letterc
and al,11011111b
mov ds:[si-1],al
jmp short letterc
ok:
ret
show:
mov al,[si]
cmp al,0
je ok2
mov es:[di],al
inc si
add di,2
jmp short show
ok2:
ret
code ends
end start |