?? mystruct.h
字號:
//是否分配設備
#define MD_NULL 1
#define MD_A 2
#define MD_B 3
#define MD_C 4
#define MD_BC 5
#define MD_AC 6
#define MD_AB 7
#define MD_ABC 8
//中斷類型
#define HALT_TIME 1
#define HALT_NA 2
#define HALT_NB 3
#define HALT_NC 4
#define HALT_NBC 5
#define HALT_NAC 6
#define HALT_NAB 7
#define HALT_NABC 8
#define HALT_NOUT 9
#define HALT_NINPUT 10
//////////////////////////////////////////////////////////////////////
//cpu解析指令的結構體
//////////////////////////////////////////////////////////////////////
typedef struct Scpudictate{
CString strename; //指令名
int iparstate[3]; //描述參數狀態。第一個數組表示有幾個參數,第二個
//和第二個分別表示一,二個參數的類型。1為 int,2為CString。
CString strpar[2];
int ipar[8];
}Sdictate;
//////////////////////////////////////////////////////////////////////
//進程結構體
//////////////////////////////////////////////////////////////////////
typedef struct Sprocess{
double ID; //每個進程的唯一標示號。為系統時間。
CString strname; //進程名
int istate; //進程狀態,0:中斷,1:就緒,2:運行
int idictatenum; //指令個數
int idictaterun; //指令執行的位置
int isavereg[8]; //寄存器保存,順序為:ax.bx.cx.cs.ds.psw.
int ihaltreasion; //中斷原因 1時鐘中斷,2等待設備A,3等待設備B,4等待設備C,5等待輸入
int waittime; //中斷時的等待時間。
int iequipment; //是否分配設備.0:無,1:分配設備A,2:分配設備B,3:分配設備C
Sdictate pdictate[50]; //指令集
}Sprocess;
//////////////////////////////////////////////////////////////////////
//主存PCB區結構體
//////////////////////////////////////////////////////////////////////
typedef struct Smemorypcb{
bool full; //是否空,FALSE為空
int address; //在內存中的起始地址
Sprocess pcb;
}PCB;
//////////////////////////////////////////////////////////////////////
//主存結構體
//////////////////////////////////////////////////////////////////////
typedef struct Smemory{
PCB pcb[11]; //用數組模擬主存PCB區
int index[64]; //用數組模擬主存分配表
int usememory[64][8]; //用數組模擬主存客戶區
}Smemory;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -