06.02.2013 Views

C166/ST10 Cross-Assembler, Linker/Locator, Utilities ... - Tasking

C166/ST10 Cross-Assembler, Linker/Locator, Utilities ... - Tasking

C166/ST10 Cross-Assembler, Linker/Locator, Utilities ... - Tasking

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

• • • • • • • •<br />

A.out File Format A−19<br />

/*<br />

* memory type definitions<br />

* used in symbol table (i_mtyp)<br />

* used in expression evaluation (mtyp)<br />

* used in allocation record S_SEG<br />

*/<br />

#define MEM_UNDEF 0x00 /* memory type undefined */<br />

#define MEM_CODE 0x78 /* memory type code */<br />

#define MEM_BIT 0x79 /* memory type bit */<br />

#define MEM_DATA 0x7a /* memory type data */<br />

#define MEM_XDATA 0x7b /* memory type xdata */<br />

#define MEM_HDAT 0x7b /* memory type HDAT */<br />

#define MEM_IDATA 0x7c /* memory type idata */<br />

#define MEM_PDAT 0x7c /* memory type PDAT */<br />

#define MEM_NBR 0x7d /* memory type number */<br />

#define MEM_LDAT 0x7d /* memory type LDAT */<br />

#define MEM_DBI 0x7e /* memory type data bitaddressable<br />

* internal use only<br />

*/<br />

#define MEM_SDAT 0x7f /* memory type SDAT */<br />

/*<br />

* Extension records only occur in object files. Thus there<br />

* exists an extension header if IS_OBJECT(outhead). (see below).<br />

*<br />

* extension header */<br />

struct exthead {<br />

Ushort eh_magic; /* magic number */<br />

Ushort eh_stamp; /* version stamp */<br />

Ushort eh_nsegm; /* number of extsegm structures */<br />

Ushort eh_nallo; /* number of extallo structures */<br />

};<br />

#define E_MAGIC N_MAGIC /* magic number for object file */<br />

#define E_STAMP 0 /* version stamp */<br />

/*<br />

* segment range specifications<br />

*/<br />

struct extsegm {<br />

Ushort es_type; /* symbol type */<br />

Ushort es_desc; /* debug info */<br />

long es_lval; /* lower bound value */<br />

long es_uval; /* upper bound value */<br />

};<br />

struct tk_extsegm {<br />

Ushort es_type; /* symbol type */<br />

Ushort es_desc; /* debug info */<br />

long es_lval; /* lower bound value */<br />

long es_uval; /* upper bound value */<br />

Ushort es_sect; /* section reference */<br />

};

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!