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

📄 loademm.c

📁 汉字系统的c源代码
💻 C
字号:
    /*-----------------------------------------------------------
        函数 _LoadEMM : 利用INT15H将文件直接装入扩充存储器
    -----------------------------------------------------------*/
    #include <hanenv.h>

    long _Cdecl _LoadEMM(file,size)
    FILE *file;                    /* 欲装入扩充存储器的文件   */
    long size;                     /* 文件长度                 */
    {
        long handle =_CurrentEMM;
        long addr;
        unsigned i,num;

        /*-- 如果剩余扩充存储器尺寸小于文件长度则返回 ----------*/
        if(_GetEMMsize()-(int)((_CurrentEMM-1200000L)/1024L)<size/1024+1)
            return 0L;

        /*-- 设置各项参数 --------------------------------------*/
        _CurrentEMM += size;
        size = size/1024+1;          /* 扩充存储器长度以K为单位 */
        _Init_GDT();
        addr = FP_SEG(_HanFont);
        addr = (addr<<4)+FP_OFF(_HanFont);
        _SetSourAddr(addr,1024);
        addr = handle;

        /*-- 将文件读到内存并装入扩充存储器 --------------------*/
        for(i=0;i<size;i++)
        {
            num=fread(_HanFont,sizeof(char),1024,file);
            _SetDestAddr(addr,num);
            _MoveDataEMM(num);
            addr += 1024;
        }

        /*-- 返回EMM自由空间的首地址 --------------------------*/
        return handle;
    }

⌨️ 快捷键说明

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