《汇编语言》实验16

本文介绍了如何使用汇编语言安装新的中断例程,该例程提供了四个功能:清屏、设置前景色、设置背景色以及向上滚动屏幕一行。通过ah寄存器传递功能号,并使用al寄存器传递颜色值,颜色范围限定在特定数值内。
摘要由CSDN通过智能技术生成

安装一个新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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值