assume cd:code
data segment
db 'welcom to masm!',0
data 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 al,160
mul dh
mov bx,ax
mov al,2
mul dl
add ax,bx
mov di,ax
mov ax,0b800h
mov es,ax ;确定显示缓存地址
mov bp,cx ;保存颜色属性
str1: mov cl,[si]
mov ch,0
jcxz ok ;判断字符是否为0
mov cx,bp
mov ch,cl
mov cl,[si]
mov es:[di],cx
inc si
add di,2 ;把数据写入显示缓存
jmp short str1 ;重复
ok: ret ;返回
code ends
end start |