⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 block.c

📁 汉字系统的c源代码
💻 C
字号:
    /*-----------------------------------------------------------
        函数 _Block : 在屏幕上指定位置显示一矩形块。
    -----------------------------------------------------------*/
    #include <hanenv.h>

    void _Cdecl _Block(col,line,width,high,color)
    int col;           /* 屏幕矩形块左上角列坐标(以字节为单位) */
    int line;          /* 屏幕矩形块左上角行坐标(以象素为单位) */
    int width;         /* 屏幕矩形块宽度(以字节为单位)         */
    int high;          /* 屏幕矩形块高度(以象素为单位)         */
    int color;         /* 屏幕矩形块颜色                       */
    {
        register char far *addr;
        register i,j;

        /*-- 设置显示寄存器操作标志 -----------*/
        _VideoBusy = YES;

        /*-- 确定块在显示存储器(VRAM)中的地址 -*/
        addr = (char far *)0xa0000000+(line+_ScreenTop)*_ScreenWidth+col;

        /*-- 设置块颜色 -----------------------*/
        outportb(0x3ce,0);
        outportb(0x3cf,color);

        /*-- 颜色数据由置位/复位寄存器提供 ----*/
        outportb(0x3ce,1);
        outportb(0x3cf,0x0f);

        for(i=0;i<high;i++)
        {
            for(j=0;j<width;j++)
                *(addr+j)&=0xff; /*- 先读后写 -*/
            addr+=_ScreenWidth;
        }

        /*- 恢复置位/复位和允许置位/复位寄存器 */
        outportb(0x3ce,1);
        outportb(0x3cf,0);
        outportb(0x3ce,0);
        outportb(0x3cf,0x0f);
        _VideoBusy = NO;
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -