source: buchla-68k/include/objdefs.h@ 57425b6

Last change on this file since 57425b6 was bf89cfb, checked in by Thomas Lopatic <thomas@…>, 7 years ago

No more warnings in vlib.

  • Property mode set to 100644
File size: 1.4 KB
Line 
1/*
2 ============================================================================
3 objdefs.h -- Object file format for as68 (Atari 1040ST TOS objects)
4 Version 7 -- 1987-12-30 -- D.N. Lynx Crowe
5 ============================================================================
6*/
7
8#pragma once
9
10#include "stdint.h"
11
12struct EXFILE { /* executable file header */
13
14 uint16_t F_Magic; /* File type magic */
15 int32_t F_Text; /* SIze of text segment */
16 int32_t F_Data; /* Size of data segment */
17 int32_t F_BSS; /* Size of BSS segment */
18 int32_t F_Symtab; /* Size of symbol table */
19 int32_t F_Res1; /* Reserved area #1 */
20 int32_t F_Res2; /* Reserved area #2 -- text origin */
21 int16_t F_Res3; /* Reserved area #3 -- flag word */
22
23 /* data origin - long */
24 /* bss origin - long */
25};
26
27#define F_R_C 0x601Au /* Magic for contiguous file */
28#define F_R_D 0x601Bu /* Magic for discontiguous file */
29
30struct SYMBOL { /* Symbol table entry -- 14 bytes */
31
32 int8_t symname[8]; /* Symbol name (LJZF) */
33 uint16_t symtype; /* Symbol type flags */
34 int32_t symvalue; /* Symbol value */
35};
36
37#define S_Def 0x8000u /* Defined */
38#define S_Equ 0x4000u /* Equated */
39#define S_Glb 0x2000u /* Global */
40#define S_Reg 0x1000u /* Equated register */
41#define S_Ext 0x0800u /* External reference */
42#define S_Data 0x0400u /* Data based relocatable */
43#define S_Text 0x0200u /* Text based relocatable */
44#define S_BSS 0x0100u /* BSS based relocatable */
Note: See TracBrowser for help on using the repository browser.