assume cs:codesg
datasg segment
db "Beinner's All-purpose symbolic Instruction Code.",0
datasg ends
codesg segment
begin:
mov ax,datasg
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
letterc:
mov cx,ds:[si]
jcxz exit
cmp byte ptr ds:[si],'a'
jb s
cmp byte ptr ds:[si],'z'
ja s
sub byte ptr ds:[si],20h
s:
inc si
jmp short letterc
exit:
ret
codesg ends
end begin |