📄 globalvariabledef.h
字号:
///////////////////////////////////////////////////////////////////////
//文件功能: 定义系统中要用到的全局变量
//开发人员:杨军
//开发日期:2004-4-17
//修改人员:
//修改日期:
///////////////////////////////////////////////////////////////////////
#ifndef __GLOBAL_VARIABLE_DEF
#define __GLOBAL_VARIABLE_DEF
#include "CaslCompiler.h"
//-------------当前编译的程序中要为变量分配的空间大小--------------------
int g_iVariableSize = 0;
//-------------当前编译的程序中要为常量分配的空间大小--------------------
int g_iConstSize = 0;
//-------------常量类型名称数组------------------------------------------
char g_szConstTypeName[][12] = {
"DEC_CONST",
"HEX_CONST",
"STR_CONST",
"LABEL_CONST"
};
//--------------指令类型名称数组------------------------------------------
char g_szInstructionName[][INSTRUCTION_NAME_SIZE] = {
"LD",
"LEA",
"ST",
"ADD",
"SUB",
"AND",
"OR",
"EOR",
"CPA",
"CPL",
"SLA",
"SRA",
"SLL",
"SRL",
"JMP",
"JPZ",
"JMI",
"JNZ",
"JZE",
"PUSH",
"POP",
"CALL",
"RET",
"IN",
"OUT",
"EXIT",
"SET_ALABEL",
"SET_NLABEL",
"FUNC_IN",
"FUNC_OUT"
};
//-----------------------操作数类型名称数组-----------------------------------
char g_szOperandTypeName[][7] = {
"REG",
"EA",
"EMPTY"
};
//----------------------使用单指令操作数的指令的名称vector-------------------
vector<string> g_vecSingleOperandInstructionName;
//----------------------不使用操作数的指令的名称vector-----------------------
vector<string> g_vecNoOperandInstructionName;
//------------------------常量表----------------------------------------------
vector<CaslConst> g_vecConst;
//------------------------变量表----------------------------------------------
vector<CaslVariable> g_vecVariable;
//------------------------中间代码表------------------------------------------
vector<IntermediateCode> g_vecIntermediateCode;
//-------------------------变量标号表-------------------------------------------
vector<VariableLabelItem> g_vecVariableLabel;
//--------------------------常量标号表------------------------------------------
vector<ConstLabelItem> g_vecConstLabel;
//--------------------------指令标号表------------------------------------------
vector<InstructionLabelItem> g_vecInstructionLabel;
//--------------------------存放生成的目标代码的vector---------------------------
vector<ObjectCode> g_vecObjectCode;
//---------------------------旧的new handler-------------------------------------
new_handler g_OldNewHandler;
//------编译时发现的错误消息对应的字符串-------------------------------
//#define NO_START_LABEL 0
//#define INVALID_GR_NUMBER 1
//#define INVALID_EA 2
//#define NO_END_LABEL 3
//#define INVALID_DS_DEF 4
//#define INVALID_DC_DEF 5
//#define LAST_ERRMSG_ID 5
//#define UNKNOWN_ERROR LAST_ERRMSG_ID + 1
char g_szCompilingErrMsg[][COMPILING_ERRMSG_SIZE] = {
"Lack START Label ",
"Invalid Register Number",
"Invalid Effective Address",
"Lack End Label",
"Invalid DS Definition",
"Invalid DC Definition",
"Invalid Type of Instruction ",
"No Executable Statement",
"Unknown Error"
};
//-----------------存放编译错误信息的内存映射文件的名称-----------
const char * g_szMapNameForCompilingErrMsg = "CompilingErrMsg";
//-----------------存放编译错误信息的内存映射文件的大小-----------
unsigned int g_uiSizeOfMapOfCompilingErrMsg = 64 * 1024;
//-----------------存放可视化调试的调试信息------------------------
vector<InstructionDebugInfo> g_vecVisualDebugInfo;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -