⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 error.h

📁 Intel x86处理器的汇编器
💻 H
字号:
#ifndef _ERROR_H_#define _ERROR_H_/* *	error.h * *	author: Mik * *	11/12/2005 *//*	errno(32-bit): define the error no*/typedef int errno_t;typedef struct err_struct {	errno_t errno;			/* the error number */	char **err_msg;			/* error message arrary */	char *err_info;			/* error information */	struct err_struct *next;	/* next error message */} err_link_t;/* operand error */#define ERR_SLBRACKET	0x1#define ERR_SRBRACKET	0x2#define ERR_CAST	0x4#define ERR_PREFIX	0x8#define ERR_MLBRACKET	0x10#define ERR_MRBRACKET	0x20#define ERR_BASE	0x40#define ERR_INDEX	0x80#define ERR_SCALE	0x100#define ERR_DISP	0x200#define ERR_OPERAND	0x400#define ERR_IMME	0x800#define ERR_MOFFSET	0x1000#define ERR_ADDRESS	0x2000#define ERR_REGISTER	0x4000#define ERR_INVALD_SIZE 	0x8000#define ERR_ERROR	0x10000#define ERR_CHARACTER	0x80000000static char *ops_errmsg[] = { 	"error: loss '('\n", 	"error: loss ')'\n", 	"error: invalid operand size cast\n",	"error: illegal prefix\n",	"error: loss '['\n",	"error: loss ']'\n",	"error: illegal base or index register\n",	"error: illegal index register\n",	"error: illegal scale value\n",	"error: illegal displacement value\n",	"error: illegal operand\n",	"error: invalid immediate value\n",	"error: illegal memory offset value\n",	"error: illegal operand address mode\n",	"error: illegal register value\n",	"error: invalid operand size\n", 	"",	"error: illegal character\n"		// last};/* assemble line error */#define ERR_LABEL	0x1#define ERR_REPLABEL	0x2#define ERR_INS		0x4#define ERR_LINE	0x8static char *line_errmsg[] = {	"error: error at label\n",	"error: rep define label\n",	"error: illegel instruction\n",	"error: error at line or cannot analyse line\n"		/* last */};/* analyse file error no */#define ERR_FILE	0x1#define ERR_ENTER 	0x2/* generate encode error no *///#define ERR_ERROR 	0x1#define PRINT_ERRMSG(errno, errmsg) \{ \	int i;	\	for (i = 0; i < 32; i++) \		fprintf(stderr, (errno)&(1<<i)?(errmsg)[i]:"\0");\}#define ERR_MSG_SIZE	256/* error fuction */int mount_err_link(errno_t errno, char *err_msg[], char *err_info);char *get_err_msg_addr();void print_err();void release_err_link();#endif

⌨️ 快捷键说明

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