其他的一些内容省略,直接来程序的主体
;名称:show_str
;功能:在指定的的位置,用指定的颜色,
; 显示一个用0结束的字符串
;参数:(dh)=行号(取值范围0-24),(dl)=列号(取值范围0-79)
(cl)=颜色属性,ds:si指向字符串的首地址
;小程序思想
;1.将寄存器指向0b800h,即显存所在的位置
;2.将偏移地址指向要显示的地方
;3.ah保存要显示的属性,al保存要显示的内容
show_str: ;程序的入口
push ax
push cx
push bx
push es
push si
;es指向0b800h处
mov ax,0b800h
mov es,ax
;将偏移地址指向要显示的行和列
;计算行
mov al,160
mul dh
; 计算列
mov dh,0
add dx,dx
;计算总偏移地址
mov bx,ax
add bx,dx
;用ah储存要显示内容的属性
mov ah,cl
show:
mov cl,[si]
mov ch,0
jcxz ok
mov al,[si]
mov es:[bx],ax
inc si
add bx,2
jmp short show
ok:
pop si
pop es
pop bx
pop cx
pop ax
ret ;程序的出口