dos_mem.h

来自「djgpp bt878 capture for DOS」· C头文件 代码 · 共 60 行

H
60
字号
#ifndef DOS_MEM_H

#define DOS_MEM_H

#include <dpmi.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <go32.h>
#include <sys\farptr.h>
#include "mydefs.h"

class DOS_MEM
{
protected:
   DWORD address;
   DWORD length;
   int selector;

public:
   DOS_MEM(DWORD length_in_bytes);
   DOS_MEM(void);
   ~DOS_MEM(void);
   
   void  AllocateMem(DWORD lenght_in_bytes);
   DWORD GetAddress(void)
   {
      return address;
   }
   
   int GetSelector(void)
   {
      return selector;
   }
   
   int GetOffset(void)
   {
      return address & 0xf;
   }
   
   int GetSegment(void)
   {
      return address >> 4;
   }

   void Set(DWORD value, DWORD offset = 0);
   void Set(WORD value, DWORD offset = 0);
   void Set(BYTE value, DWORD offset = 0);
   DWORD Get(DWORD offset = 0);
   DWORD GetDWORD(DWORD offset = 0);
   WORD GetWORD(DWORD offset = 0);
   BYTE GetBYTE(DWORD offset = 0);
   DWORD GetDosMemDWORD(int segment, int offset);
   WORD GetDosMemWORD(int segment, int offset);
   BYTE GetDosMemBYTE(int segment, int offset);
   
};

#endif

⌨️ 快捷键说明

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