
assume cs:code,ds:data
data segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends
code segment
main: mov ax,data
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
;letterc将data中的全部字母变成大写
;首先判断当前字节是否为小写字母,范围为97~122
;大写字母范围是65~90,将小写字母减32得到大写字母
;最后判断是否为0,若是0,返回
letterc:
s: cmp byte ptr ds:[si],0
je e
cmp byte ptr ds:[si],97
jb next
cmp byte ptr ds:[si],122
ja next
mov ah,ds:[si]
sub ah,32
mov ds:[si],ah
next: inc si
jmp short s
e: ret
code ends
end main