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

📄 a.out.h

📁 用于motorala 68K系列处理器的小实时多任务操作系统 The OMU Kernel was written to provide a cut-down Unix-like O/S for a
💻 H
字号:
/* *	Layout of a.out file : * *	header of 8 longs	magic number 405, 407, 410, 411 *				text size		) *				data size		) in bytes *				bss size		) *				symbol table size	) *				text relocation size	) *				data relocation size	) *				entry point * *	header:			0 *	text:			32 *	data:			32+textsize *	symbol table:		32+textsize+datasize *	text relocation:	32+textsize+datasize+symsize *	data relocation:	32+textsize+datasize+symsize+rtextsize * *//* various parameters */#define SYMLENGTH	50		/* maximum length of a symbol *//* types of files */#define	ARCMAGIC 0177545#define OMAGIC	0405#define	FMAGIC	0407#define	NMAGIC	0410#define	IMAGIC	0411/* symbol types */#define	EXTERN	040#define	UNDEF	00#define	ABS	01#define	TEXT	02#define	DATA	03#define	BSS	04#define	COMM	05	/* internal use only */#define REG	06/* relocation regions */#define	RTEXT	00#define	RDATA	01#define	RBSS	02#define	REXT	03/* relocation sizes */#define RBYTE	00#define RWORD	01#define RLONG	02/* macros which define various positions in file based on a bhdr, filhdr */#define TEXTPOS		((long) sizeof(filhdr))#define DATAPOS 	(TEXTPOS + filhdr.tsize)#define SYMPOS		(DATAPOS + filhdr.dsize)#define RTEXTPOS	(SYMPOS + filhdr.ssize)#define RDATAPOS	(RTEXTPOS + filhdr.rtsize)#define ENDPOS		(RDATAPOS + filhdr.rdsize)/* header of a.out files */struct bhdr {	long	fmagic;	long	tsize;	long	dsize;	long	bsize;	long	ssize;	long	rtsize;	long	rdsize;	long	entry;};/* symbol management */struct sym {	char	stype;		/* symbol type */	char	sympad;		/* pad to long align */	long	svalue;		/* value */};/* relocation commands */struct reloc {	unsigned rsegment:2;	/* RTEXT, RDATA, RBSS, or REXTERN */	unsigned rsize:2;		/* RBYTE, RWORD, or RLONG */	unsigned rdisp:1;		/* 1 => a displacement */	unsigned relpad1:3;		/* pad 1 */	char	 relpad2;		/* pad 2 */	short rsymbol;		/* id of the symbol of external relocations */	long rpos;		/* position of relocation in segment */};/* Stuff for unix compatibility */#define	A_MAGIC1	FMAGIC       	/* normal */#define	A_MAGIC2	NMAGIC       	/* read-only text */struct	nlist {	/* symbol table entry */	char    	n_name[8];	/* symbol name */	int     	n_type;    	/* type flag */	unsigned	n_value;	/* value */};		/* values for type flag */#define	N_UNDF	0	/* undefined */#define	N_ABS	01	/* absolute */#define	N_TEXT	02	/* text symbol */#define	N_DATA	03	/* data symbol */#define	N_BSS	04	/* bss symbol */#define	N_TYPE	037#define	N_REG	024	/* register name */#define	N_FN	037	/* file name symbol */#define	N_EXT	040	/* external bit, or'ed in */#define	FORMAT	"%06o"	/* to print a value */

⌨️ 快捷键说明

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