?? loademm.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 + -