8086汇编(29)显示字符串子程序

显示字符串子程序

名称:show_str

功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串

参数:(dh)=行号(取值范围024),(dl)=列号(取值范围079),

(cl)=颜色,ds:si指向字符串的首地址

返回:无

应用举例:在屏幕的8行3列,用绿色显示data段中的字符串。

assume  cs:code    

data   segment
       db   'welcome 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:
       push es
       push ax
       push bp
       push di
        push si

            mov ax, 0b800h
            mov es, ax          
            mov al, cl       

            mov  bp, 0
            mov  ch, 0
            mov  cl, dh
s0:         add  bp, 160       
            loop  s0              ;循环计算行偏移量

            mov  di, 0
            mov  ch, 0
            mov  cl, dl
s1:         add  di,2              
            loop  s1              ;循环计算列偏移量

s2:          mov  cl,ds:[si]
             jcxz s3        
             mov  es:[bp + di],cl  ;字符
             inc  di
             mov  es:[bp +di], al  ;颜色
             inc  di
             inc  si
             loop s2

s3:         
         pop si
             pop di
             pop bp
        pop ax
        pop es
        ret

code      ends
end start

你可能感兴趣的:(8086汇编(29)显示字符串子程序)