📄 enenv.h
字号:
/* memory available: 1M bytes */#include <stdbool.h>#define AVAILMEM 0xFFFFF#define SIGNATURE 0x5A4Dtypedef char byte;typedef unsigned short word;typedef unsigned int dword;#define FLAG_C 0x0001#define FLAG_P 0x0004#define FLAG_A 0x0010#define FLAG_Z 0x0040#define FLAG_S 0x0080#define FLAG_T 0x0100#define FLAG_I 0x0200#define FLAG_D 0x0400#define FLAG_O 0x0800struct general_reg{ word ax; word cx; word dx; word bx; word sp; word bp; word si; word di;};struct segment_reg{ word es; word cs; word ss; word ds; word fs; word gs;};struct CPU{ struct general_reg greg; struct segment_reg sreg; word ip; int flags; bool status; byte* ram;};#define greg16_addr(index) ((word*)(&cpu.greg)+(index))#define greg8_addr(index) ((byte*)(&cpu.greg)+((index&4)?((index&3)*2+1):(index*2)))#define sreg_addr(index) ((word*)(&cpu.sreg)+(index))/* struct PSP { word int20; word memavail; dword int22; dword int23; dword int24; word env; word int21; byte retf; byte fmtcmd1[16]; byte fmtcmd2[16]; byte cmdlen; byte unfmtcmd[127]; }; */struct CPU cpu;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -