assume cs:code,ds:data
data segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends
code segment
p: mov ax,4c00h
int 21h
start: mov ax,data
mov ds,ax
mov si,0
call l
jmp p
;子程序部分[开始]
l: push si
l0: cmp byte ptr ds:[si],0
je l2
cmp byte ptr ds:[si],61h ;61h为'a'的ASCII码
jb l1
cmp byte ptr ds:[si],7ah ;7ah为'z'的ASCII码
ja l1
and byte ptr ds:[si],5fh ;也可以用sub
l1: inc si
jmp short l0
l2: pop si
ret
;子程序部分[结束]
code ends
end start |