用 子程序 一个字符串中的小写转为大写

assume cs :code

data segment
 db "I am a boooy!!",0
data ends
code segment
start:
 mov ax,data
 mov ds,ax
 mov si,0
 mov dx,0
 call s
  
ok: mov ax,4c00h
 int 21h

s: push ax
 push si
 push dx
 mov ah,[si]
 cmp ah,0
 je ok
 cmp ah,'a'
 jb esc1
 cmp ah,'z'
 ja esc1
 
 inc dx
 and ah,11011111B
 mov [si],ah
 inc si
 jmp s
 pop dx
 pop si
 pop ax
 ret
 

esc1:  inc si
 jmp s
 pop dx
 pop si
 pop ax
 ret

code ends
end start

 

在一个字符串中找等于 8 的字符个数(注意 类型的 转换)

assume cs:code

data segment
 db 8,11,8,1,8,5,63,38
data ends

code segment

start: mov ax,data
 mov ds,ax
 mov si,0
 mov cx,8
 mov ax,0
s: 
 cmp byte ptr [si],8
 jna ok
 inc ax
 
ok: 
 inc si
 loop s

 mov ax,4c00h
 int 21h

code ends
end start

 

待续