安装一个新int 7ch
中断例程,为显示输出提供如下功能子程序:
(1) 清屏
(2) 设置前景色
(3) 设置背景色
(4) 向上滚动一行
入口参数说明如下:
(1) ah寄存器传递功能号:0清屏,1设置前景色,2设置背景色,3向上滚动一行
(2) 对于2、3功能,用al传送颜色值,(al)∈{0, 1, 2, 4, 5, 6, 7}
assume cs:code, ss:stack
stack segment
db 128 dup(0)
stack ends
code segment
int7ch:
jmp set
table dw sub1, sub2, sub3, sub4 ; 功能子程序表
sub1:
push cx
push di
push es
mov di, 0b800h
mov es, di
mov di, 0 ; es:di指向显示区字符
mov cx, 2000 ; 一屏可显示2000个字符
sub1s:
mov byte ptr es:[di], ' '
add di, 2
loop sub1s
pop es
pop di
pop cx
ret
; 子程序sub2:
; 设置前景色
sub2:
push cx
push di
push es
mov di, 0b800h
mov es, di
mov di, 1 ; es:di指向显示区字符属性
mov cx, 2000 ; 一屏有2000个字符
sub2s:
and byte ptr es:[di], 1111