1 2 // automatically generated by m4 from headers in proto subdir 3 4 5 #ifndef __Z88DK_H__ 6 #define __Z88DK_H__ 7 8 #include <arch.h> 9 10 // z88dk version 11 12 // 1990 = 1.99A 13 // 1991 = 1.99B 14 // 1992 = 1.99C 15 // 2000 = 2.00 16 17 #define Z88DK_VERSION __Z88DK 18 19 // section information 20 21 #define SECTION_ORG(sec) ((unsigned int)SECTION_ORG_##sec()) 22 #define SECTION_END(sec) ((unsigned int)SECTION_END_##sec()) 23 #define SECTION_SIZE(sec) ((unsigned int)SECTION_SIZE_##sec()) 24 25 extern unsigned char _CODE_head[]; 26 extern unsigned char _DATA_head[]; 27 extern unsigned char _BSS_head[]; 28 29 #define SECTION_CODE_ORG() ((unsigned int)_CODE_head) 30 #define SECTION_DATA_ORG() ((unsigned int)_DATA_head) 31 #define SECTION_BSS_ORG() ((unsigned int)_BSS_head) 32 33 extern unsigned char _CODE_END_tail[]; 34 extern unsigned char _DATA_END_tail[]; 35 extern unsigned char _BSS_UNINITIALIZED_head[]; 36 37 #define SECTION_CODE_END() ((unsigned int)_CODE_END_tail) 38 #define SECTION_DATA_END() ((unsigned int)_DATA_END_tail) 39 #define SECTION_BSS_END() ((unsigned int)_BSS_UNINITIALIZED_head) 40 41 #if __CLANG 42 43 extern unsigned int SECTION_SIZE_CODE(void); 44 extern unsigned int SECTION_SIZE_DATA(void); 45 extern unsigned int SECTION_SIZE_BSS(void); 46 47 #endif 48 49 #if __SDCC 50 51 extern unsigned int SECTION_SIZE_CODE(void) __preserves_regs(a,b,c,d,e,iyl,iyh); 52 extern unsigned int SECTION_SIZE_DATA(void) __preserves_regs(a,b,c,d,e,iyl,iyh); 53 extern unsigned int SECTION_SIZE_BSS(void) __preserves_regs(a,b,c,d,e,iyl,iyh); 54 55 #endif 56 57 #if __SCCZ80 58 59 extern unsigned int SECTION_SIZE_CODE(void); 60 extern unsigned int SECTION_SIZE_DATA(void); 61 extern unsigned int SECTION_SIZE_BSS(void); 62 63 #endif 64 65 #define SECTION_CODE_SIZE() SECTION_SIZE_CODE() 66 #define SECTION_DATA_SIZE() SECTION_SIZE_DATA() 67 #define SECTION_BSS_SIZE() SECTION_SIZE_BSS() 68 69 #endif 70