types.h
Go to the documentation of this file.
#ifndef ASM_TYPES_INCLUDE
#define ASM_TYPES_INCLUDE
#if defined(__PORT_sm83)
#include <asm/sm83/types.h>
#elif defined(__PORT_z80)
#include <asm/z80/types.h>
#elif defined(__PORT_mos6502)
#include <asm/mos6502/types.h>
#else
#error Unrecognised port
#endif
#ifndef OLDCALL
#if __SDCC_REVISION >= 12608
#define OLDCALL __sdcccall(0)
#else
#define OLDCALL
#endif
#endif
#ifdef __SDCC
#define PRESERVES_REGS(...) __preserves_regs(__VA_ARGS__)
#define NAKED __naked
#define SFR __sfr
#define AT(A) __at(A)
#define NORETURN _Noreturn
#else
#define PRESERVES_REGS(...)
#define NAKED
#define SFR
#define AT(A)
#define NORETURN
#endif
#ifndef NONBANKED
#define NONBANKED
#endif
#ifndef BANKED
#define BANKED
#endif
#ifndef CRITICAL
#define CRITICAL
#endif
#ifndef INTERRUPT
#define INTERRUPT
#endif
typedef INT8 BOOLEAN;
typedef INT8 BYTE;
typedef UINT8 UBYTE;
typedef INT16 WORD;
typedef UINT16 UWORD;
typedef INT32 LWORD;
typedef UINT32 ULWORD;
typedef INT32 DWORD;
typedef UINT32 UDWORD;
typedef union _fixed {
struct {
UBYTE l;
UBYTE h;
};
struct {
UBYTE l;
UBYTE h;
} b;
UWORD w;
} fixed;
#endif
types.h
INT16
signed int INT16
Definition: types.h:53
INT32
signed long INT32
Definition: types.h:59
INT8
signed char INT8
Definition: types.h:47
UINT16
unsigned int UINT16
Definition: types.h:56
UINT32
unsigned long UINT32
Definition: types.h:62
UINT8
unsigned char UINT8
Definition: types.h:50
types.h
BOOLEAN
INT8 BOOLEAN
Definition: types.h:55
BYTE
INT8 BYTE
Definition: types.h:59
DWORD
INT32 DWORD
Definition: types.h:72
LWORD
INT32 LWORD
Definition: types.h:68
UBYTE
UINT8 UBYTE
Definition: types.h:62
UDWORD
UINT32 UDWORD
Definition: types.h:74
ULWORD
UINT32 ULWORD
Definition: types.h:70
UWORD
UINT16 UWORD
Definition: types.h:66
WORD
INT16 WORD
Definition: types.h:64
fixed
union _fixed fixed
types.h
_fixed
Definition: types.h:82
_fixed::b
struct _fixed::@2 b
_fixed::h
UBYTE h
Definition: types.h:85
_fixed::l
UBYTE l
Definition: types.h:84
_fixed::w
UWORD w
Definition: types.h:91