|
|
1.1 root 1: struct exec { /* a.out header */
2: long a_magic; /* magic number */
3: long a_text; /* size of text segment */
4: long a_data; /* size of initialized data */
5: long a_bss; /* size of unitialized data */
6: long a_syms; /* size of symbol table */
7: long a_entry; /* entry point */
8: long a_unused; /* not used */
9: long a_flag; /* relocation info stripped */
10: };
11:
12: #define A_MAGIC1 0407 /* normal */
13: #define A_MAGIC2 0410 /* read-only text */
14: #define A_MAGIC3 0411 /* separated I&D */
15: #define A_MAGIC4 0406 /* mpx */
16:
17: struct nlist { /* symbol table entry */
18: char n_name[8]; /* symbol name */
19: char n_type; /* type flag */
20: char n_dtype;
21: unsigned short n_desc; /* C type code */
22: long n_value; /* value */
23: };
24:
25: /* values for n_type */
26: #define N_UNDF 0 /* undefined */
27: #define N_ABS 02 /* absolute */
28: #define N_TEXT 04 /* text symbol */
29: #define N_DATA 06 /* data symbol */
30: #define N_BSS 010 /* bss symbol */
31: #define N_TYPE 036
32: #define N_EXT 01 /* external bit, or'ed in */
33:
34: #define FORMAT "%04x" /* to print a value */
35:
36: /*
37: * Quantities for relocation words
38: */
39: /* modifiers applying to relocation bits */
40: #define X2WDS 020 /* long (2-word) quantity */
41: #define XPCREL 040 /* PC-relative */
42: #define XOFFS 0100 /* relative to base of data */
43:
44: /* Instruction types, for loader-optimizer */
45: /* Apply only if type is N_ABS */
46: #define TMASK 03600 /* Mask for type */
47: #define TBR0 00200 /* Short (8-bit) branch */
48: #define TBR1 00400 /* medium (16-bit) branch */
49: #define TEA0 00600 /* Long absolute addr follows immediately */
50: #define TEA1 01000 /* Long absolute addr after 1 word */
51: #define TEA2 01200 /* Long absolute addr after 2 words */
52: #define TIM0 01400 /* Long, shrinkable immediate follows */
53: #define TPC0 01600 /* Long absolute convertible to pc-rel */
54: #define TPC1 02000 /* Long absolute convertible to pc-rel after 1 wd */
55: #define TPC2 02200 /* Long absolute convertible to pc-rel after 2 wds */
56: #define TMM 02400 /* movem instruction */
57:
58: /* Possible second E.A. for mov instruction */
59: #define TMASK1 074000
60: #define TSHFT1 4
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.