显示字符的子程序,大家帮忙分析下
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
stack segment
db 10 dup(0)
stack ends
code segment
start: mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
show_str:mov ax,0b800h
mov es,ax
mov ch,0
push cx
mov al,dh
mov ah,0
mov cx,ax
mov ax,0
s: add ax,0a0h
loop s
mov cl,dl
add ax,cx
mov si,ax
pop cx
mov al,0
mov ah,cl
mov di,0
s0: mov cl,ds:[di]
mov es:[si],cl
inc si
mov es:[si],ah
jcxz ok
inc si
inc di
jmp s0
ok:ret
code ends
end start |