mirror of
https://github.com/VARCem/PTV_Archive.git
synced 2026-07-08 18:16:20 +00:00
Compilers used to compile the master prom
This commit is contained in:
BIN
compilers/HT-XA/BIN/ASXA.EXE
Normal file
BIN
compilers/HT-XA/BIN/ASXA.EXE
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/CGXA.EXE
Normal file
BIN
compilers/HT-XA/BIN/CGXA.EXE
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/CLIST.EXE
Normal file
BIN
compilers/HT-XA/BIN/CLIST.EXE
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/CPP.EXE
Normal file
BIN
compilers/HT-XA/BIN/CPP.EXE
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/CREF.EXE
Normal file
BIN
compilers/HT-XA/BIN/CREF.EXE
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/CROMWELL.EXE
Normal file
BIN
compilers/HT-XA/BIN/CROMWELL.EXE
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/DUMP.EXE
Normal file
BIN
compilers/HT-XA/BIN/DUMP.EXE
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/HPDXA.EXE
Normal file
BIN
compilers/HT-XA/BIN/HPDXA.EXE
Normal file
Binary file not shown.
27
compilers/HT-XA/BIN/HPDXA.INI
Normal file
27
compilers/HT-XA/BIN/HPDXA.INI
Normal file
@@ -0,0 +1,27 @@
|
||||
[HPDXA]
|
||||
Project=none
|
||||
Curfile=none
|
||||
Tabsize=8
|
||||
File0=C:\WORK\5230_SPG\SYSTEM.C 1 1
|
||||
File1=C:\WORK\5230_SPG\SYNC.C 1 1
|
||||
File2=C:\WORK\5230_SPG\LOCK.C 1 1
|
||||
File3=C:\WORK\5230_SPG\FIEL.C 1 1
|
||||
File4=C:\WORK\5230_SPG\LINE.C 1 1
|
||||
File5=C:\WORK\5230_SPG\SERI1.C 1 1
|
||||
File6=C:\WORK\5230_SPG\TABKORG.C 1 1
|
||||
File7=C:\WORK\5230_SPG\TABKORM.C 1 1
|
||||
Ucnam0=
|
||||
Ucmd0=
|
||||
Ucnam1=
|
||||
Ucmd1=
|
||||
Ucnam2=
|
||||
Ucmd2=
|
||||
Ucnam3=
|
||||
Ucmd3=
|
||||
SavedTemp=
|
||||
Autosave=0
|
||||
Warnlevel=0
|
||||
[WINDOWS]
|
||||
MOUSE=8,4098,0,1
|
||||
SOUND=On
|
||||
CLOCK=On
|
||||
BIN
compilers/HT-XA/BIN/Hlink.org
Normal file
BIN
compilers/HT-XA/BIN/Hlink.org
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/IDENT.EXE
Normal file
BIN
compilers/HT-XA/BIN/IDENT.EXE
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/LIBR.EXE
Normal file
BIN
compilers/HT-XA/BIN/LIBR.EXE
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/LUCXA.EXE
Normal file
BIN
compilers/HT-XA/BIN/LUCXA.EXE
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/OBJTOHEX.EXE
Normal file
BIN
compilers/HT-XA/BIN/OBJTOHEX.EXE
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/OPTXA.EXE
Normal file
BIN
compilers/HT-XA/BIN/OPTXA.EXE
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/P1.EXE
Normal file
BIN
compilers/HT-XA/BIN/P1.EXE
Normal file
Binary file not shown.
BIN
compilers/HT-XA/BIN/PATCH.EXE
Normal file
BIN
compilers/HT-XA/BIN/PATCH.EXE
Normal file
Binary file not shown.
1
compilers/HT-XA/BIN/PATCH.LVL
Normal file
1
compilers/HT-XA/BIN/PATCH.LVL
Normal file
@@ -0,0 +1 @@
|
||||
XAV7.72 patchlevel 1
|
||||
BIN
compilers/HT-XA/BIN/XAC.EXE
Normal file
BIN
compilers/HT-XA/BIN/XAC.EXE
Normal file
Binary file not shown.
148
compilers/HT-XA/BIN/XX/HPDXA.INI
Normal file
148
compilers/HT-XA/BIN/XX/HPDXA.INI
Normal file
@@ -0,0 +1,148 @@
|
||||
[HPDXA]
|
||||
Project=C:\WORK\5210\SYNC\SYNC.PRJ
|
||||
Curfile=C:\CXA\WORK\JK_SPG\SYNC.C 33 1
|
||||
Tabsize=2
|
||||
#
|
||||
# Menu bar clock enable: 0 = off, non-zero = on
|
||||
#
|
||||
Clock=1
|
||||
#
|
||||
# sound enable: 0 = off, non-zero = on
|
||||
#
|
||||
Sound=1
|
||||
#
|
||||
Ucnam0=
|
||||
Ucmd0=
|
||||
Ucnam1=
|
||||
Ucmd1=
|
||||
Ucnam2=
|
||||
Ucmd2=
|
||||
Ucnam3=
|
||||
Ucmd3=
|
||||
SavedTemp=
|
||||
Autosave=0
|
||||
Warnlevel=0
|
||||
File0=C:\CXA\WORK\JK_SPG\LOCK.C 136 1
|
||||
File1=C:\CXA\WORK\JK_SPG\SYNC.H 49 1
|
||||
File2=C:\WORK\5210\SYNC\SYSTEM.C 1 1
|
||||
File3=C:\WORK\5210\SYNC\SYNC.C 1 1
|
||||
File4=C:\WORK\5210\SYNC\LOCK.C 1 1
|
||||
File5=C:\WORK\5210\SYNC\FIEL.C 1 1
|
||||
File6=C:\WORK\5210\SYNC\LINE.C 1 1
|
||||
File7=C:\WORK\5210\SYNC\SERI1.C 1 1
|
||||
[WINDOWS]
|
||||
#
|
||||
# The SCREEN=rows,lines value is used to select any of the "standard"
|
||||
# EGA or VGA text modes. This value is only used if EGA or VGA are
|
||||
# detected. Useful combinations are:
|
||||
#
|
||||
# EGA: 25,350 or 43,350 (these also work on VGA)
|
||||
# VGA: 25,400, 28,400 or 50,400
|
||||
#
|
||||
# The SCREEN= value will not set a lower resolution mode than is
|
||||
# already in use. Eg. SCREEN=25,400 will not set 25 lines if a
|
||||
# 50 line screen is already selected using the DOS MODE command.
|
||||
# The 28 rows by 400 scan lines mode is very nice on most VGA displays.
|
||||
#
|
||||
SCREEN=28,400
|
||||
#
|
||||
MOUSE=50,50,0,1
|
||||
SOUND=On
|
||||
CLOCK=On
|
||||
[COLOURS]
|
||||
#
|
||||
# colour settings:
|
||||
#
|
||||
# Remove the # before any line to set the colours for the specifed
|
||||
# window. In each colour group, the first value is the foreground
|
||||
# colour, the second is the background colour. The attribute names
|
||||
# for most windows are:
|
||||
#
|
||||
# normal: normal text colour
|
||||
# bright: bright/highlighted text colour
|
||||
# inverse: inverse text colour
|
||||
# frame: window frame colour
|
||||
# title: window title colour
|
||||
# button: colour for any buttons in window
|
||||
#
|
||||
# If just the "normal" colour for a window is specified, the
|
||||
# settings of "bright", "inverse", "frame" and "title" will be
|
||||
# extrapolated from the "normal" colour.
|
||||
#
|
||||
# Valid colours: foreground: 0-15, background: 0-7
|
||||
#
|
||||
# 0=black 1=blue 2=green 3=cyan
|
||||
# 4=red 5=magenta 6=brown 7=white
|
||||
# 8=grey 9=bright blue 10=bright green 11=bright cyan
|
||||
# 12=bright red 13=br. magenta 14=yellow 15=bright white
|
||||
#
|
||||
# The settings below create a horrible "neon" colour scheme.
|
||||
#
|
||||
#Editor=normal:7,1 bright:0,3 button:1,7 hilite:14,0
|
||||
#Clipboard=normal:7,0 bright:14,0
|
||||
#Table_help=normal:14,0 bright:15,0
|
||||
#Compdial=normal:7,4 bright:7,0 frame:6,4
|
||||
#Map_window=normal:0,5
|
||||
#Help_window=normal:14,0 bright:15,0 inverse:4,7
|
||||
#Ascii_window=normal:2,0 button:4,7 high:3,0
|
||||
#Calculator=normal:7,0
|
||||
#Warndial=normal:7,4
|
||||
#Msg_window=normal:15,6
|
||||
#
|
||||
# Set C_colours=1 to enable C colour coding, C_colours=0 to disable
|
||||
#
|
||||
C_colours=1
|
||||
#
|
||||
# The settings below define the colours used by the editor
|
||||
# when displaying colour coded C source. The editor breaks
|
||||
# C code into "language elements" named as follows:
|
||||
#
|
||||
# C_wspace: White space - foreground colour affects cursor
|
||||
# C_number: Octal, decimal and hexadecimal numbers
|
||||
# C_alpha: Alphanumeric variable, macro and function names
|
||||
# C_punct: Punctuation characters, etc.
|
||||
# C_keyword: C keywords and variable types: e.g. int, static, etc.
|
||||
# C_brace: Open and close braces: { }
|
||||
# C_s_quote: Text in single quotes
|
||||
# C_d_quote: Text in double quotes
|
||||
# C_comment: Traditional C style comments: /* ... */
|
||||
# Cpp_comment: C++ style comments: // ...
|
||||
# C_preprocessor: C pre-processor directives: #blah
|
||||
# Include_file: Include file names
|
||||
# Error: Errors - anything incorrect detected by the editor
|
||||
# Asm_code: Inline assembler code (#asm ... #endasm)
|
||||
# Asm_comment: Assembler comments: ; ...
|
||||
#
|
||||
#C_wspace=7,1
|
||||
#C_number=7,1
|
||||
#C_alpha=7,1
|
||||
#C_punct=15,1
|
||||
#C_keyword=15,1
|
||||
#C_brace=11,1
|
||||
#C_s_quote=3,1
|
||||
#C_d_quote=3,1
|
||||
#C_comment=14,1
|
||||
#Cpp_comment=14,1
|
||||
#C_preprocessor=13,1
|
||||
#Include_file=2,1
|
||||
#Error=6,1
|
||||
#Asm_code=11,1
|
||||
#Asm_comment=14,1
|
||||
#
|
||||
# The settings below may be used to create menu and menu bar
|
||||
# colour schemes. The following attribute values are valid:
|
||||
#
|
||||
# Menu: normal: dimmed menu item, can't be selected
|
||||
# bright: selectable menu item
|
||||
# inverse: currently highlighted menu item
|
||||
# frame: menu frame colour
|
||||
#
|
||||
# Menubar:
|
||||
# normal: menu bar normal colour
|
||||
# inverse: colour of half blocks around selected menu
|
||||
# bright: selected menu colour
|
||||
# altkey: alt key standard colour
|
||||
# altdown: alt key pressed colour
|
||||
#
|
||||
#Menu=normal:6,7 inverse:7,0 bright:0,7
|
||||
#Menubar=normal:0,7 inverse:7,0 bright:7,0 altkey:4,7 altdown:7,0
|
||||
BIN
compilers/HT-XA/BIN/hlink.exe
Normal file
BIN
compilers/HT-XA/BIN/hlink.exe
Normal file
Binary file not shown.
20
compilers/HT-XA/INCLUDE/ASSERT.H
Normal file
20
compilers/HT-XA/INCLUDE/ASSERT.H
Normal file
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* Assertion - use liberally for debugging. Defining NDEBUG
|
||||
* turns assertions off.
|
||||
* assert(exp) where exp is non-zero does nothing, while
|
||||
* assert(exp) where exp evaluates to zero aborts the program
|
||||
* with a message like
|
||||
*
|
||||
* Assertion failed: prog.c line 123: "exp"
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef NDEBUG
|
||||
#ifndef __mkstr__
|
||||
#define __mkstr__(exp) #exp
|
||||
#endif
|
||||
extern void _fassert(int, char *, char *);
|
||||
#define assert(exp) if(!(exp)) {_fassert(__LINE__, __FILE__, __mkstr__(exp));}
|
||||
#else
|
||||
#define assert(exp)
|
||||
#endif
|
||||
32
compilers/HT-XA/INCLUDE/CONIO.H
Normal file
32
compilers/HT-XA/INCLUDE/CONIO.H
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Low-level console I/O functions
|
||||
*/
|
||||
|
||||
#ifndef _STDDEF
|
||||
typedef int ptrdiff_t; /* result type of pointer difference */
|
||||
typedef unsigned size_t; /* type yielded by sizeof */
|
||||
typedef unsigned short wchar_t; /* wide char type */
|
||||
#define _STDDEF
|
||||
#define offsetof(ty, mem) ((int)&(((ty *)0)->mem))
|
||||
#endif /* _STDDEF */
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL ((void *)0)
|
||||
#endif /* NULL */
|
||||
|
||||
extern int errno; /* system error number */
|
||||
|
||||
#if !_HOSTED
|
||||
extern void init_uart(void);
|
||||
#endif
|
||||
extern char getch(void);
|
||||
extern char getche(void);
|
||||
extern void putch(char);
|
||||
extern void ungetch(char);
|
||||
#ifdef _MPC_
|
||||
extern bit kbhit(void);
|
||||
#else
|
||||
extern int kbhit(void);
|
||||
#endif
|
||||
extern char * cgets(char *);
|
||||
extern void cputs(const char *);
|
||||
52
compilers/HT-XA/INCLUDE/CTYPE.H
Normal file
52
compilers/HT-XA/INCLUDE/CTYPE.H
Normal file
@@ -0,0 +1,52 @@
|
||||
#if defined(_MPC_)
|
||||
|
||||
extern bit isalpha(char);
|
||||
extern bit isupper(char);
|
||||
extern bit islower(char);
|
||||
extern bit isdigit(char);
|
||||
extern bit isxdigit(char);
|
||||
extern bit isspace(char);
|
||||
extern bit ispunct(char);
|
||||
extern bit isalnum(char);
|
||||
extern bit isprint(char);
|
||||
extern bit isgraph(char);
|
||||
extern bit iscntrl(char);
|
||||
|
||||
extern char toupper(char);
|
||||
extern char tolower(char);
|
||||
#else
|
||||
|
||||
#define _U 0x01
|
||||
#define _L 0x02
|
||||
#define _N 0x04
|
||||
#define _S 0x08
|
||||
#define _P 0x10
|
||||
#define _C 0x20
|
||||
#define _X 0x40
|
||||
#define _B 0x80
|
||||
|
||||
#ifdef _XA_
|
||||
extern code unsigned char _ctype_[257];
|
||||
#else
|
||||
extern const unsigned char _ctype_[257];
|
||||
#endif
|
||||
|
||||
#define isalpha(c) ((_ctype_+1)[(unsigned char)(c)]&(_U|_L))
|
||||
#define isupper(c) ((_ctype_+1)[(unsigned char)(c)]&_U)
|
||||
#define islower(c) ((_ctype_+1)[(unsigned char)(c)]&_L)
|
||||
#define isdigit(c) ((_ctype_+1)[(unsigned char)(c)]&_N)
|
||||
#define isxdigit(c) ((_ctype_+1)[(unsigned char)(c)]&(_N|_X))
|
||||
#define isspace(c) ((_ctype_+1)[(unsigned char)(c)]&_S)
|
||||
#define ispunct(c) ((_ctype_+1)[(unsigned char)(c)]&_P)
|
||||
#define isalnum(c) ((_ctype_+1)[(unsigned char)(c)]&(_U|_L|_N))
|
||||
#define isprint(c) ((_ctype_+1)[(unsigned char)(c)]&(_P|_U|_L|_N|_B))
|
||||
#define isgraph(c) ((_ctype_+1)[(unsigned char)(c)]&(_P|_U|_L|_N))
|
||||
#define iscntrl(c) ((_ctype_+1)[(unsigned char)(c)]&_C)
|
||||
|
||||
extern char toupper(int);
|
||||
extern char tolower(int);
|
||||
#endif
|
||||
|
||||
#define isascii(c) (!((c)&~0x7F))
|
||||
#define toascii(c) ((c)&0x7F)
|
||||
|
||||
17
compilers/HT-XA/INCLUDE/ERRNO.H
Normal file
17
compilers/HT-XA/INCLUDE/ERRNO.H
Normal file
@@ -0,0 +1,17 @@
|
||||
#define EINVAL 1
|
||||
#define ENOENT 2
|
||||
#define NOPATH 3
|
||||
#define EMFILE 4
|
||||
#define EACCESS 5
|
||||
#define EBADF 6
|
||||
#define EMCBD 7
|
||||
#define ENOMEM 8
|
||||
#define EIMBA 9
|
||||
#define EINVENV 10
|
||||
#define ENOEXEC 11
|
||||
#define EPERM 12
|
||||
#define EDATA 13
|
||||
#define EDRIVE 15
|
||||
#define ECURDIR 16
|
||||
#define EXDEV 17
|
||||
#define ENFILE 18
|
||||
170
compilers/HT-XA/INCLUDE/FLOAT.H
Normal file
170
compilers/HT-XA/INCLUDE/FLOAT.H
Normal file
@@ -0,0 +1,170 @@
|
||||
/* Characteristics of floating types */
|
||||
|
||||
#define DBL_RADIX 2 /* radix of exponent for a double */
|
||||
#define DBL_ROUNDS 0 /* doubles don't round when converted to int */
|
||||
#define FLT_RADIX 2 /* radix of float exponent */
|
||||
#define FLT_ROUNDS 0 /* float also truncates to int */
|
||||
|
||||
#if defined(i8096) || defined(m6800) || defined(m6809) || defined(i8051) || \
|
||||
defined(h8300) || defined(h8300h)|| defined(m6805)
|
||||
#define FLT_MANT_DIG 24
|
||||
#define FLT_EPSILON 1.19209290e-07
|
||||
#define FLT_DIG 6
|
||||
#define FLT_MIN_EXP -125
|
||||
#define FLT_MIN 1.17549435e-38
|
||||
#define FLT_MIN_10_EXP -37
|
||||
#define FLT_MAX_EXP 128
|
||||
#define FLT_MAX 3.40282347e+38
|
||||
#define FLT_MAX_10_EXP 38
|
||||
#define DBL_MANT_DIG 24
|
||||
#define DBL_EPSILON 1.19209290e-07
|
||||
#define DBL_DIG 6
|
||||
#define DBL_MIN_EXP -125
|
||||
#define DBL_MIN 1.17549435e-38
|
||||
#define DBL_MIN_10_EXP -37
|
||||
#define DBL_MAX_EXP 128
|
||||
#define DBL_MAX 3.40282347e+38
|
||||
#define DBL_MAX_10_EXP 38
|
||||
#endif
|
||||
|
||||
#if defined(_MPC_)
|
||||
|
||||
/* MICROCHIP PIC */
|
||||
|
||||
#define FLT_MANT_DIG 16
|
||||
#define FLT_EPSILON 3.05176e-05
|
||||
#define FLT_DIG 5
|
||||
#define FLT_MIN_EXP -125
|
||||
#define FLT_MIN 1.17549435e-38
|
||||
#define FLT_MIN_10_EXP -37
|
||||
#define FLT_MAX_EXP 128
|
||||
#define FLT_MAX 3.40277e+38
|
||||
#define FLT_MAX_10_EXP 38
|
||||
#if sizeof(double) == 4
|
||||
#define DBL_MANT_DIG 24
|
||||
#define DBL_EPSILON 1.19209290e-07
|
||||
#define DBL_DIG 6
|
||||
#define DBL_MIN_EXP -125
|
||||
#define DBL_MIN 1.17549435e-38
|
||||
#define DBL_MIN_10_EXP -37
|
||||
#define DBL_MAX_EXP 128
|
||||
#define DBL_MAX 3.40282347e+38
|
||||
#define DBL_MAX_10_EXP 38
|
||||
#else
|
||||
#define DBL_MANT_DIG FLT_MANT_DIG
|
||||
#define DBL_EPSILON FLT_EPSILON
|
||||
#define DBL_DIG FLT_DIG
|
||||
#define DBL_MIN_EXP FLT_MIN_EXP
|
||||
#define DBL_MIN FLT_MIN
|
||||
#define DBL_MIN_10_EXP FLT_MIN_10_EXP
|
||||
#define DBL_MAX_EXP FLT_MAX_EXP
|
||||
#define DBL_MAX FLT_MAX
|
||||
#define DBL_MAX_10_EXP FLT_MAX_10_EXP
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(_XA_)
|
||||
#define FLT_MANT_DIG 24
|
||||
#define FLT_EPSILON 1.19209290e-07
|
||||
#define FLT_DIG 6
|
||||
#define FLT_MIN_EXP -125
|
||||
#define FLT_MIN 1.17549435e-38
|
||||
#define FLT_MIN_10_EXP -37
|
||||
#define FLT_MAX_EXP 128
|
||||
#define FLT_MAX 3.40282347e+38
|
||||
#define FLT_MAX_10_EXP 38
|
||||
#define FLT_MANT_DIG 24 /* 24 bits in mantissa */
|
||||
#if sizeof(double) == 4
|
||||
#define DBL_MANT_DIG 24
|
||||
#define DBL_EPSILON 1.19209290e-07
|
||||
#define DBL_DIG 6
|
||||
#define DBL_MIN_EXP -125
|
||||
#define DBL_MIN 1.17549435e-38
|
||||
#define DBL_MIN_10_EXP -37
|
||||
#define DBL_MAX_EXP 128
|
||||
#define DBL_MAX 3.40282347e+38
|
||||
#define DBL_MAX_10_EXP 38
|
||||
#define DBL_MANT_DIG 24 /* 24 bits in mantissa */
|
||||
#elif __FASTDBL
|
||||
#define DBL_MANT_DIG 48
|
||||
#define DBL_EPSILON 2.147544363e-10
|
||||
#define DBL_DIG 14
|
||||
#define DBL_MIN_EXP -16381
|
||||
#define DBL_MIN 2.225073858507202e-1640
|
||||
#define DBL_MIN_10_EXP -1640
|
||||
#define DBL_MAX_EXP 16384
|
||||
#define DBL_MAX 1.797693134862315e+1640
|
||||
#define DBL_MAX_10_EXP 1641
|
||||
#else
|
||||
#define DBL_MANT_DIG 53
|
||||
#define DBL_EPSILON 2.220446049250313e-16
|
||||
#define DBL_DIG 15
|
||||
#define DBL_MIN_EXP -1021
|
||||
#define DBL_MIN 2.225073858507202e-308
|
||||
#define DBL_MIN_10_EXP -307
|
||||
#define DBL_MAX_EXP 1024
|
||||
#define DBL_MAX 1.797693134862315e+308
|
||||
#define DBL_MAX_10_EXP 308
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(z80)
|
||||
#define FLT_MANT_DIG 24 /* 24 bits in mantissa */
|
||||
#define DBL_MANT_DIG 24 /* ditto for double */
|
||||
#define DBL_MANT_DIG 24 /* ditto long double */
|
||||
#define FLT_EPSILON 1.19209290e-07 /* smallest x, x+1.0 != 1.0 */
|
||||
#define DBL_EPSILON 1.19209290e-07 /* smallest x, x+1.0 != 1.0 */
|
||||
#define FLT_DIG 6 /* decimal significant digs */
|
||||
#define DBL_DIG 6
|
||||
#define FLT_MIN_EXP -63 /* min binary exponent */
|
||||
#define DBL_MIN_EXP -63
|
||||
#define FLT_MIN 1.0842021e-19 /* smallest floating number */
|
||||
#define DBL_MIN 1.0842021e-19
|
||||
#define FLT_MIN_10_EXP -19
|
||||
#define DBL_MIN_10_EXP -19
|
||||
#define FLT_MAX_EXP 63 /* max binary exponent */
|
||||
#define DBL_MAX_EXP 63
|
||||
#define FLT_MAX 9.223369e18 /* max floating number */
|
||||
#define DBL_MAX 9.223369e18
|
||||
#define FLT_MAX_10_EXP 18 /* max decimal exponent */
|
||||
#define DBL_MAX_10_EXP 18
|
||||
#endif z80
|
||||
|
||||
#if i8086 || m68k
|
||||
|
||||
/* The 8086 and 68000 use IEEE 32 and 64 bit floats */
|
||||
|
||||
#define FLT_MANT_DIG 24
|
||||
#define FLT_EPSILON 1.192092896e-07
|
||||
#define FLT_DIG 6
|
||||
#define FLT_MIN_EXP -125
|
||||
#define FLT_MIN 1.175494351e-38
|
||||
#define FLT_MIN_10_EXP -37
|
||||
#define FLT_MAX_EXP 128
|
||||
#define FLT_MAX 3.402823466+38
|
||||
#define FLT_MAX_10_EXP 38
|
||||
#define DBL_MANT_DIG 53
|
||||
#define DBL_EPSILON 2.220446049250313e-16
|
||||
#define DBL_DIG 15
|
||||
#define DBL_MIN_EXP -1021
|
||||
#define DBL_MIN 2.225073858507202e-308
|
||||
#define DBL_MIN_10_EXP -307
|
||||
#define DBL_MAX_EXP 1024
|
||||
#define DBL_MAX 1.797693134862315e+308
|
||||
#define DBL_MAX_10_EXP 308
|
||||
#endif i8086 || m68k
|
||||
|
||||
|
||||
/* long double equates to double */
|
||||
|
||||
|
||||
#define LDBL_MANT_DIG DBL_MANT_DIG
|
||||
#define LDBL_EPSILON DBL_EPSILON
|
||||
#define LDBL_DIG DBL_DIG
|
||||
#define LDBL_MIN_EXP DBL_MIN_EXP
|
||||
#define LDBL_MIN DBL_MIN
|
||||
#define LDBL_MIN_10_EXP DBL_MIN_10_EXP
|
||||
#define LDBL_MAX_EXP DBL_MAX_EXP
|
||||
#define LDBL_MAX DBL_MAX
|
||||
#define LDBL_MAX_10_EXP DBL_MAX_10_EXP
|
||||
225
compilers/HT-XA/INCLUDE/HEADERS.TAG
Normal file
225
compilers/HT-XA/INCLUDE/HEADERS.TAG
Normal file
@@ -0,0 +1,225 @@
|
||||
_fassert assert.h
|
||||
init_uart conio.h
|
||||
getch conio.h
|
||||
getche conio.h
|
||||
putch conio.h
|
||||
ungetch conio.h
|
||||
kbhit conio.h
|
||||
kbhit conio.h
|
||||
cgets conio.h
|
||||
cputs conio.h
|
||||
isalpha ctype.h
|
||||
isupper ctype.h
|
||||
islower ctype.h
|
||||
isdigit ctype.h
|
||||
isxdigit ctype.h
|
||||
isspace ctype.h
|
||||
ispunct ctype.h
|
||||
isalnum ctype.h
|
||||
isprint ctype.h
|
||||
isgraph ctype.h
|
||||
iscntrl ctype.h
|
||||
toupper ctype.h
|
||||
tolower ctype.h
|
||||
toupper ctype.h
|
||||
tolower ctype.h
|
||||
im intrpt.h
|
||||
set_vector intrpt.h
|
||||
setiva intrpt.h
|
||||
getiva intrpt.h
|
||||
set_vector intrpt.h
|
||||
fabs math.h
|
||||
floor math.h
|
||||
ceil math.h
|
||||
modf math.h
|
||||
sqrt math.h
|
||||
atof math.h
|
||||
sin math.h
|
||||
cos math.h
|
||||
tan math.h
|
||||
asin math.h
|
||||
acos math.h
|
||||
atan math.h
|
||||
atan2 math.h
|
||||
frexp math.h
|
||||
ldexp math.h
|
||||
log math.h
|
||||
log10 math.h
|
||||
pow math.h
|
||||
exp math.h
|
||||
sinh math.h
|
||||
cosh math.h
|
||||
tanh math.h
|
||||
eval_poly math.h
|
||||
setjmp setjmp.h
|
||||
longjmp setjmp.h
|
||||
__va_start stdarg.h
|
||||
__va_start stdarg.h
|
||||
__va_start stdarg.h
|
||||
void stdio.h
|
||||
cprintf stdio.h
|
||||
_doprnt stdio.h
|
||||
_doprnt stdio.h
|
||||
_flsbuf stdio.h
|
||||
_filbuf stdio.h
|
||||
fclose stdio.h
|
||||
fflush stdio.h
|
||||
fgetc stdio.h
|
||||
ungetc stdio.h
|
||||
fputc stdio.h
|
||||
getw stdio.h
|
||||
putw stdio.h
|
||||
fputs stdio.h
|
||||
fread stdio.h
|
||||
fwrite stdio.h
|
||||
fseek stdio.h
|
||||
rewind stdio.h
|
||||
setbuf stdio.h
|
||||
setvbuf stdio.h
|
||||
fprintf stdio.h
|
||||
fscanf stdio.h
|
||||
vfprintf stdio.h
|
||||
vfscanf stdio.h
|
||||
remove stdio.h
|
||||
rename stdio.h
|
||||
fopen stdio.h
|
||||
freopen stdio.h
|
||||
fdopen stdio.h
|
||||
ftell stdio.h
|
||||
fgets stdio.h
|
||||
perror stdio.h
|
||||
_bufallo stdio.h
|
||||
_buffree stdio.h
|
||||
tmpnam stdio.h
|
||||
tmpfile stdio.h
|
||||
popen stdio.h
|
||||
pclose stdio.h
|
||||
void stdio.h
|
||||
_doscan stdio.h
|
||||
gets stdio.h
|
||||
puts stdio.h
|
||||
scanf stdio.h
|
||||
sscanf stdio.h
|
||||
vprintf stdio.h
|
||||
vsprintf stdio.h
|
||||
vscanf stdio.h
|
||||
vsscanf stdio.h
|
||||
sprintf stdio.h
|
||||
printf stdio.h
|
||||
atof stdlib.h
|
||||
strtod stdlib.h
|
||||
atoi stdlib.h
|
||||
xtoi stdlib.h
|
||||
atol stdlib.h
|
||||
rand stdlib.h
|
||||
srand stdlib.h
|
||||
calloc stdlib.h
|
||||
div stdlib.h
|
||||
udiv stdlib.h
|
||||
ldiv stdlib.h
|
||||
uldiv stdlib.h
|
||||
_lrotl stdlib.h
|
||||
_lrotr stdlib.h
|
||||
_rotl stdlib.h
|
||||
_rotr stdlib.h
|
||||
malloc stdlib.h
|
||||
free stdlib.h
|
||||
realloc stdlib.h
|
||||
farmemcpy stdlib.h
|
||||
farmemset stdlib.h
|
||||
_far_alloc stdlib.h
|
||||
_far_sbrk stdlib.h
|
||||
nearsbrk stdlib.h
|
||||
malloc stdlib.h
|
||||
free stdlib.h
|
||||
realloc stdlib.h
|
||||
_far_alloc stdlib.h
|
||||
_far_sbrk stdlib.h
|
||||
farfree stdlib.h
|
||||
farrealloc stdlib.h
|
||||
farmemcpy stdlib.h
|
||||
farmemset stdlib.h
|
||||
abort stdlib.h
|
||||
exit stdlib.h
|
||||
atexit stdlib.h
|
||||
getenv stdlib.h
|
||||
system stdlib.h
|
||||
qsort stdlib.h
|
||||
bsearch stdlib.h
|
||||
abs stdlib.h
|
||||
labs stdlib.h
|
||||
__daa stdlib.h
|
||||
ieee_to_fastdouble stdlib.h
|
||||
fastdouble_to_ieee stdlib.h
|
||||
memcpy string.h
|
||||
memmove string.h
|
||||
strcpy string.h
|
||||
strncpy string.h
|
||||
strcat string.h
|
||||
strncat string.h
|
||||
memcmp string.h
|
||||
strcmp string.h
|
||||
stricmp string.h
|
||||
strncmp string.h
|
||||
strnicmp string.h
|
||||
strcoll string.h
|
||||
memchr string.h
|
||||
strcspn string.h
|
||||
strpbrk string.h
|
||||
strspn string.h
|
||||
strstr string.h
|
||||
stristr string.h
|
||||
strtok string.h
|
||||
strdup string.h
|
||||
memset string.h
|
||||
strerror string.h
|
||||
strlen string.h
|
||||
strchr string.h
|
||||
strichr string.h
|
||||
strrchr string.h
|
||||
strrichr string.h
|
||||
getfreemem sys.h
|
||||
execl sys.h
|
||||
execv sys.h
|
||||
execve sys.h
|
||||
execle sys.h
|
||||
execvp sys.h
|
||||
execlp sys.h
|
||||
getpid sys.h
|
||||
mktemp sys.h
|
||||
sync sys.h
|
||||
fork sys.h
|
||||
wait sys.h
|
||||
getuid sys.h
|
||||
setuid sys.h
|
||||
kill sys.h
|
||||
alarm sys.h
|
||||
pause sys.h
|
||||
sleep sys.h
|
||||
setpgrp sys.h
|
||||
getpgrp sys.h
|
||||
spawnl sys.h
|
||||
spawnv sys.h
|
||||
spawnle sys.h
|
||||
spawnve sys.h
|
||||
spawnlp sys.h
|
||||
spawnvp sys.h
|
||||
chdir sys.h
|
||||
chdrv sys.h
|
||||
mkdir sys.h
|
||||
rmdir sys.h
|
||||
getcwd sys.h
|
||||
persist_validate sys.h
|
||||
persist_check sys.h
|
||||
getdrv sys.h
|
||||
_getargs sys.h
|
||||
sbrk sys.h
|
||||
brk sys.h
|
||||
_pnum sys.h
|
||||
_fnum sys.h
|
||||
_pnum sys.h
|
||||
_fnum sys.h
|
||||
load_driver sys.h
|
||||
mktime time.h
|
||||
strftime time.h
|
||||
__trap xa.h
|
||||
119
compilers/HT-XA/INCLUDE/HITECH.H
Normal file
119
compilers/HT-XA/INCLUDE/HITECH.H
Normal file
@@ -0,0 +1,119 @@
|
||||
/* Standard types for HI-TECH Software code
|
||||
These types may need to be tuned for different
|
||||
machines/compilers. Notes with each one indicate assumptions
|
||||
that should be maintained for each type.
|
||||
*/
|
||||
|
||||
/*
|
||||
* $Header: /home/clyde/nz/RCS/hitech.h,v 1.8 94/04/27 13:39:06 clyde Exp $
|
||||
*
|
||||
* $Log: hitech.h,v $
|
||||
* Revision 1.8 94/04/27 13:39:06 clyde
|
||||
* Make FAST explicitly signed
|
||||
*
|
||||
* Revision 1.7 93/05/13 00:10:56 clyde
|
||||
* Fix #endif's
|
||||
*
|
||||
* Revision 1.6 92/06/25 16:15:43 clyde
|
||||
* Set LITTLE_ENDIAN for appropriate machines
|
||||
*
|
||||
* Revision 1.5 92/06/01 15:05:44 clyde
|
||||
* Made setting of BIG_ENDIAN conditional
|
||||
*
|
||||
* Revision 1.4 91/07/18 22:57:30 clyde
|
||||
* Added conditional setting of LARGE_DATA
|
||||
*
|
||||
* Revision 1.3 91/07/08 15:37:16 clyde
|
||||
* Added BIG_ENDIAN
|
||||
*
|
||||
* Revision 1.2 89/08/09 11:57:10 clyde
|
||||
* Added RCS header stuff
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
Turn ANSI on if the compiler supports function prototypes and
|
||||
has the ANSI header files
|
||||
<stdlib.h>
|
||||
<string.h>
|
||||
*/
|
||||
|
||||
#if HI_TECH_C
|
||||
#define ANSI 1
|
||||
#endif /* HI_TECH_C */
|
||||
|
||||
/* shorthand types */
|
||||
|
||||
#define uchar unsigned char
|
||||
#define ulong unsigned long
|
||||
#define ushort unsigned short
|
||||
|
||||
/* useful, tuneable types. Change only if:
|
||||
|
||||
1) compiler does not support type, e.g. unsigned char.
|
||||
2) compiler generates bad code for a particular type.
|
||||
3) a larger type would generate faster code, e.g. byte counters
|
||||
on the 65816 are inefficient code-wise.
|
||||
*/
|
||||
|
||||
#define BOOL unsigned char /* boolean variable. Any integral type
|
||||
will do. */
|
||||
#define FAST signed char /* fast, small counter. Must permit
|
||||
values -128 to 127 but may be larger. */
|
||||
#define UFAST unsigned char /* fast, small unsigned counter. Must
|
||||
permit values 0-255 at least */
|
||||
#define BYTE unsigned char /* sizeof(BYTE) must == 1 */
|
||||
#define INT_16 short /* signed, >= 16 bits */
|
||||
#define UINT_16 unsigned short /* unsigned, >= 16 bits */
|
||||
#define INT_32 long /* signed, >= 32 bits */
|
||||
#define UINT_32 unsigned long /* unsigned, >= 32 bits */
|
||||
|
||||
|
||||
/* Register variable selectors; REG1 is for things that must go
|
||||
in registers at all costs, REG2 for things that should, REG3 for
|
||||
things that could go in registers if there are any left over.
|
||||
Ordering of declarations will of course come into it too.
|
||||
*/
|
||||
|
||||
#if z80 /* only has one register variable */
|
||||
#define REG1 register
|
||||
#define REG2 auto
|
||||
#define REG3 auto
|
||||
#endif /* z80 */
|
||||
|
||||
#if i8086 /* only has two register variable */
|
||||
#define REG1 register
|
||||
#define REG2 register
|
||||
#define REG3 auto
|
||||
#endif /* i8086 */
|
||||
|
||||
#if i8096 || m68k /* lots of registers! */
|
||||
#define REG1 register
|
||||
#define REG2 register
|
||||
#define REG3 register
|
||||
#endif /* i8096 || m68k */
|
||||
|
||||
/*
|
||||
* Little endian vs big endian
|
||||
* Not complete by any means.
|
||||
*/
|
||||
|
||||
#if !defined(BIG_ENDIAN) && !defined(LITTLE_ENDIAN)
|
||||
#if interdata || sparc || sun || m68k || m68000
|
||||
#define BIG_ENDIAN 1
|
||||
#endif
|
||||
|
||||
#if vax || i8086 || i386 || iAPX286
|
||||
#undef BIG_ENDIAN
|
||||
#define LITTLE_ENDIAN 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Try and identify processors with large data spaces
|
||||
*/
|
||||
|
||||
#if sparc || m68k || m68000 || i386 || i80386 || FLAT_MODEL || vax
|
||||
#define LARGE_DATA 1
|
||||
#endif
|
||||
374
compilers/HT-XA/INCLUDE/INTRPT.H
Normal file
374
compilers/HT-XA/INCLUDE/INTRPT.H
Normal file
@@ -0,0 +1,374 @@
|
||||
/* Definitions for interrupt handling */
|
||||
|
||||
|
||||
|
||||
#ifndef __INTRPT_H
|
||||
|
||||
#define __INTRPT_H
|
||||
#if defined(i8086) && !defined(FLAT_MODEL)
|
||||
typedef far interrupt void (*isr)(void);
|
||||
#else
|
||||
typedef interrupt void (*isr)(void);
|
||||
#endif
|
||||
|
||||
#define _imkstr_(x) #x
|
||||
|
||||
/*
|
||||
* ROM_VECTOR, RAM_VECTOR & CHANGE_VECTOR macros for 6805, 6809,
|
||||
* 68HC11/6801/6301 and 680x0
|
||||
*
|
||||
* ROM_VECTOR: points a ROM based vector directly at an interrupt
|
||||
* function.
|
||||
*
|
||||
* RAM_VECTOR: points a ROM based vector at a JMP instruction in
|
||||
* the "data" psect which jumps to the interrupt function.
|
||||
* If "data" is linked into RAM, this results in a "soft"
|
||||
* vector which can be modified.
|
||||
*
|
||||
* CHANGE_VECTOR: changes the a JMP instruction defined by RAM_VECTOR to
|
||||
* point at a different interrupt function.
|
||||
*
|
||||
* READ_RAM_VECTOR: returns the address of the interrupt function
|
||||
* to which a RAM vector effectively points.
|
||||
*
|
||||
* Colin Weaver, August 1992
|
||||
*/
|
||||
|
||||
/*
|
||||
* 68HC11,6801,6301,6805 ei() and di()
|
||||
*/
|
||||
|
||||
#if m6800 || m6805
|
||||
#define ei() asm(" cli")
|
||||
#define di() asm(" sei")
|
||||
#endif /* m6800 */
|
||||
|
||||
/*
|
||||
* 6805 ROM_VECTOR, RAM_VECTOR, CHANGE_VECTOR, READ_RAM_VECTOR
|
||||
*/
|
||||
|
||||
#if m6805
|
||||
#define ROM_VECTOR(vec, fun) \
|
||||
asm(" ifge (" _imkstr_(vec) "!.$F)-$E"); \
|
||||
asm(" fail Can't modify reset vector"); \
|
||||
asm(" endc"); \
|
||||
asm(" psect vectors,ovrld"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec) "!.$F"); \
|
||||
asm(" fdb _" _imkstr_(fun)); \
|
||||
asm(" psect text")
|
||||
|
||||
#define INIT_BYTE(addr, value) \
|
||||
asm(" psect absdata,abs,ovrld"); \
|
||||
asm(" org " _imkstr_(addr)); \
|
||||
asm(" fcb " _imkstr_(value)); \
|
||||
asm(" psect text")
|
||||
|
||||
struct _RAM_VEC {
|
||||
unsigned char jmp; /* jmp opcode */
|
||||
interrupt void (*addr)(void); /* address field */
|
||||
};
|
||||
|
||||
#define RAM_VECTOR(vec, fun) \
|
||||
asm(" ifge (" _imkstr_(vec) "!.$F)-$E"); \
|
||||
asm(" fail Can't modify reset vector"); \
|
||||
asm(" endc"); \
|
||||
asm(" psect vectors,ovrld"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec) "!.$F"); \
|
||||
asm(" fdb 999f"); \
|
||||
asm(" psect data,class=CODE"); \
|
||||
asm("999:"); \
|
||||
asm(" jmp _" _imkstr_(fun)); \
|
||||
asm(" psect text")
|
||||
|
||||
extern unsigned char _Lvectors[];
|
||||
#define CHANGE_VECTOR(vec, fun) (*(struct _RAM_VEC **)(_Lvectors+((vec)&0x0F)))->addr = fun
|
||||
#define READ_RAM_VECTOR(vec) ((*(struct _RAM_VEC **)(_Lvectors+((vec)&0x0F)))->addr)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 68HC11, 6801, 6301, 6809 ROM_VECTOR, RAM_VECTOR, CHANGE_VECTOR, etc.
|
||||
*/
|
||||
|
||||
#if m6800 || m6809
|
||||
#define ROM_VECTOR(vec, fun) \
|
||||
asm(" ifge (" _imkstr_(vec) "!.$3F)-$3E"); \
|
||||
asm(" fail Can't modify reset vector"); \
|
||||
asm(" endc"); \
|
||||
asm(" psect vectors,ovrld"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec) "!.$3F"); \
|
||||
asm(" fdb _" _imkstr_(fun)); \
|
||||
asm(" psect text")
|
||||
|
||||
struct _RAM_VEC {
|
||||
unsigned char jmp; /* jmp opcode */
|
||||
interrupt void (*addr)(void); /* address field */
|
||||
};
|
||||
|
||||
#define RAM_VECTOR(vec, fun) \
|
||||
asm(" ifge (" _imkstr_(vec) "!.$3F)-$3E"); \
|
||||
asm(" fail Can't modify reset vector"); \
|
||||
asm(" endc"); \
|
||||
asm(" psect vectors,ovrld"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec) "!.$3F"); \
|
||||
asm(" fdb 999f"); \
|
||||
asm(" psect data,class=DATA"); \
|
||||
asm("999:"); \
|
||||
asm(" jmp _" _imkstr_(fun)); \
|
||||
asm(" psect text")
|
||||
|
||||
extern unsigned char _Lvectors[];
|
||||
#define CHANGE_VECTOR(vec, fun) (*(struct _RAM_VEC **)(_Lvectors+((vec)&0x3F)))->addr = fun
|
||||
#define READ_RAM_VECTOR(vec) ((*(struct _RAM_VEC **)(_Lvectors+((vec)&0x3F)))->addr)
|
||||
#endif
|
||||
|
||||
#if m6809
|
||||
/* ei() and di() are for the IRQ, efi() and edi() are for FIRQ */
|
||||
|
||||
#define ei() asm(" andcc #$EF")
|
||||
#define di() asm(" orcc #$10")
|
||||
#define efi() asm(" andcc #$BF")
|
||||
#define dfi() asm(" orcc #$40")
|
||||
#endif /* m6809 */
|
||||
|
||||
/*
|
||||
* 68000 interrupt vector and interrupt handling
|
||||
*/
|
||||
|
||||
#if m68k
|
||||
|
||||
#define di() asm("or.w #$700,sr")
|
||||
#define ei() asm("and.w #$F8FF,sr")
|
||||
|
||||
#define ROM_VECTOR(vec, fun) \
|
||||
asm(" psect vectors,ovrld"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec)); \
|
||||
asm(" dc.l _" _imkstr_(fun)); \
|
||||
asm(" psect text")
|
||||
|
||||
struct _RAM_VEC {
|
||||
unsigned short jmp; /* jmp opcode */
|
||||
interrupt void (*addr)(void); /* address field */
|
||||
};
|
||||
|
||||
#define RAM_VECTOR(vec, fun) \
|
||||
asm(" psect vectors,ovrld"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec)); \
|
||||
asm(" dc.l 999f"); \
|
||||
asm(" psect data,class=DATA"); \
|
||||
asm("999:"); \
|
||||
asm(" jmp _" _imkstr_(fun)); \
|
||||
asm(" psect text")
|
||||
|
||||
extern unsigned char _Lvectors[];
|
||||
#define CHANGE_VECTOR(vec, fun) (*(struct _RAM_VEC **)(_Lvectors+(vec)))->addr = fun
|
||||
#define READ_RAM_VECTOR(vec) ((*(struct _RAM_VEC **)(_Lvectors+(vec)))->addr)
|
||||
|
||||
#endif /* m68k */
|
||||
|
||||
#if i8051
|
||||
|
||||
/*
|
||||
* 8051 interrupt vector and interrupt handling
|
||||
*/
|
||||
|
||||
#define ei() asm(" setb ea")
|
||||
#define di() asm(" clr ea")
|
||||
|
||||
#define ROM_VECTOR(vec, fun) \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" psect vectors,ovrld"); \
|
||||
asm(" org " _imkstr_(vec)); \
|
||||
asm(" ljmp _" _imkstr_(fun)); \
|
||||
asm(" psect text")
|
||||
|
||||
#define RAM_VECTOR(vec, fun) \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" psect vectors,ovrld"); \
|
||||
asm(" org " _imkstr_(vec)); \
|
||||
asm(" push 999f+1"); \
|
||||
asm(" push 999f"); \
|
||||
asm(" ret"); \
|
||||
asm(" psect rdata,class=DATA"); \
|
||||
asm("999:"); \
|
||||
asm(" dw _" _imkstr_(fun)); \
|
||||
asm(" psect text");
|
||||
|
||||
extern near isr * code _Lvectors[];
|
||||
|
||||
#define CHANGE_VECTOR(vec, fun) (*_Lvectors[(vec)+3] = fun)
|
||||
#define READ_RAM_VECTOR(vec) (*_Lvectors[(vec)+3])
|
||||
|
||||
#endif /* i8051 */
|
||||
|
||||
#ifdef ROM_VECTOR
|
||||
#define set_vector(vec, fun) ROM_VECTOR(vec, fun)
|
||||
#endif
|
||||
|
||||
#if i8096
|
||||
#define ei() asm(" ei")
|
||||
#define di() asm(" di")
|
||||
#define set_vector(vec, fun) \
|
||||
asm(" psect vectors,ovrld"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec) " and 0x7F"); \
|
||||
asm(" dcw _" _imkstr_(fun)); \
|
||||
asm(" psect text")
|
||||
|
||||
#endif /* i8096 */
|
||||
|
||||
#if h8300
|
||||
#define ei() asm(" andc #H'7F,ccr")
|
||||
#define di() asm(" orc #H'80,ccr")
|
||||
#define set_vector(vec, fun) \
|
||||
asm(" psect vectors,ovrld"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec) " and H'FF"); \
|
||||
asm(" dc.w _" _imkstr_(fun)); \
|
||||
asm(" psect text")
|
||||
|
||||
#endif /* h8300 */
|
||||
|
||||
#if h8300h
|
||||
#define ei() asm(" andc #H'7F,ccr")
|
||||
#define di() asm(" orc #H'80,ccr")
|
||||
#define set_vector(vec, fun) \
|
||||
asm(" psect vectors,ovrld"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec) " and H'FF"); \
|
||||
asm(" dc.l _" _imkstr_(fun)); \
|
||||
asm(" psect text")
|
||||
|
||||
#endif /* h8300 */
|
||||
#if i8086
|
||||
#define ei() asm(" sti")
|
||||
#define di() asm(" cli")
|
||||
#endif /* i8086 */
|
||||
|
||||
#if z80
|
||||
#define ei() asm(" ei")
|
||||
#define di() asm(" di")
|
||||
extern void im(unsigned char);
|
||||
|
||||
|
||||
/*
|
||||
* Z80 interrupt mode 2 vector command
|
||||
*/
|
||||
|
||||
#define ROM_VECTOR(vec, fun) \
|
||||
asm(" psect im2vecs,class=CODE,ovrld,reloc=256"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec)); \
|
||||
asm(" defw _" _imkstr_(fun)); \
|
||||
asm(" psect text")
|
||||
|
||||
struct _RAM_VEC {
|
||||
unsigned char jmp; /* jmp opcode */
|
||||
unsigned int addr; /* address field */
|
||||
};
|
||||
|
||||
#define RAM_VECTOR(vec, fun) \
|
||||
asm(" psect im2vecs,class=CODE,ovrld,size=256,reloc=256"); \
|
||||
asm(" org " _imkstr_(vec)); \
|
||||
asm(" defw 999f"); \
|
||||
asm(" psect data,class=DATA"); \
|
||||
asm("999:"); \
|
||||
asm(" jp _" _imkstr_(fun)); \
|
||||
asm(" psect text")
|
||||
|
||||
extern unsigned char _Lim2vecs[];
|
||||
#define CHANGE_VECTOR(vec, fun) (*(struct _RAM_VEC **)(_Lim2vecs+((vec)&0xFF)))->addr = ((unsigned)(fun))
|
||||
#define READ_RAM_VECTOR(vec) ((void interrupt (*)(void))((*(struct _RAM_VEC **)(_Lim2vecs+((vec)&0xFF)))->addr))
|
||||
#endif z80
|
||||
|
||||
#if _XA_
|
||||
|
||||
#define _iexpand_(a) a
|
||||
#define ei() asm(" setb 337h")
|
||||
#define di() asm(" clr 337h")
|
||||
|
||||
struct _RAM_VEC {
|
||||
unsigned short jmp; /* jmp opcode */
|
||||
interrupt void (*addr)(void); /* address field */
|
||||
};
|
||||
|
||||
#if LARGE_MODEL | HUGE_MODEL
|
||||
#define ROM_VECTOR(vec, fun, psw) \
|
||||
asm(" psect vectors,ovrld,align=2,class=CODE,space=0"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec)); \
|
||||
asm(" dw "_imkstr_(psw)", 999f"); \
|
||||
asm(" psect text"); \
|
||||
asm("999: fjmp _" _imkstr_(fun));
|
||||
|
||||
#define RAM_VECTOR(vec, fun, psw) \
|
||||
asm(" psect vectors,ovrld,align=2,class=CODE,space=0"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec)); \
|
||||
asm(" dw "_imkstr_(psw)", 999f"); \
|
||||
asm(" psect text"); \
|
||||
asm("999: push.w __Vc" _imkstr_(vec) "__"); \
|
||||
asm(" push.w __Vc" _imkstr_(vec) "__+2"); \
|
||||
asm(" ret"); \
|
||||
asm(" psect rdata,size=1024,class=DATA,space=0"); \
|
||||
asm(" global __Vc" _imkstr_(vec) "__"); \
|
||||
asm("__Vc" _imkstr_(vec) "__:"); \
|
||||
asm(" dw _" _imkstr_(fun) " and 0ffffh"); \
|
||||
asm(" dw _" _imkstr_(fun) " shr 16"); \
|
||||
extern isr _Vc ## _iexpand_(vec) ## __
|
||||
|
||||
#else /* LARGE_MODEL */
|
||||
|
||||
#define ROM_VECTOR(vec, fun, psw) \
|
||||
asm(" psect vectors,ovrld,align=2,class=CODE,space=0"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec)); \
|
||||
asm(" dw "_imkstr_(psw)", _" _imkstr_(fun));
|
||||
|
||||
#define RAM_VECTOR(vec, fun, psw) \
|
||||
asm(" psect vectors,ovrld,align=2,class=CODE,space=0"); \
|
||||
asm(" global _" _imkstr_(fun)); \
|
||||
asm(" org " _imkstr_(vec)); \
|
||||
asm(" dw "_imkstr_(psw)", 999f"); \
|
||||
asm(" psect text"); \
|
||||
asm("999: push.w __Vc" _imkstr_(vec) "__"); \
|
||||
asm(" ret"); \
|
||||
asm(" psect rdata,size=1024,class=DATA,space=0"); \
|
||||
asm(" global __Vc" _imkstr_(vec) "__"); \
|
||||
asm("__Vc" _imkstr_(vec) "__:"); \
|
||||
asm(" dw _" _imkstr_(fun)); \
|
||||
extern isr _Vc ## _iexpand_(vec) ## __
|
||||
#endif
|
||||
|
||||
|
||||
#define USE_RAM_VECTOR(vec) extern isr _Vc ## _iexpand_(vec) ## __
|
||||
#define CHANGE_VECTOR(vec, fun) (_Vc ## _iexpand_(vec) ## __ = (fun))
|
||||
#define READ_RAM_VECTOR(vec) (_Vc ## _iexpand_(vec) ## __)
|
||||
|
||||
#endif /* _XA_ */
|
||||
|
||||
/* The type of a pointer to an interrupt vector */
|
||||
|
||||
#if defined(i8086) && !defined(FLAT_MODEL)
|
||||
|
||||
extern isr set_vector(volatile far isr *, isr);
|
||||
|
||||
#if _HOSTED
|
||||
extern isr setiva(int, isr);
|
||||
extern isr getiva(int);
|
||||
#endif /* _HOSTED */
|
||||
|
||||
#else /* i8086 */
|
||||
|
||||
#ifndef set_vector
|
||||
extern isr set_vector(volatile isr *, isr);
|
||||
#endif
|
||||
|
||||
#endif /* i8086 */
|
||||
|
||||
#endif /* __INTRPT_H */
|
||||
26
compilers/HT-XA/INCLUDE/LIMITS.H
Normal file
26
compilers/HT-XA/INCLUDE/LIMITS.H
Normal file
@@ -0,0 +1,26 @@
|
||||
/* Characteristics of integral types */
|
||||
|
||||
#define CHAR_BIT 8 /* bits per char */
|
||||
#define CHAR_MAX 127 /* max value of a char */
|
||||
#define CHAR_MIN -128 /* min value */
|
||||
#define SCHAR_MAX CHAR_MAX /* chars are signed */
|
||||
#define SCHAR_MIN CHAR_MIN
|
||||
#define UCHAR_MAX 255 /* for unsigned chars */
|
||||
#define SHRT_MAX 32767 /* max value of a short */
|
||||
#define SHRT_MIN (int)-32768
|
||||
#define USHRT_MAX 65535 /* unsigned short */
|
||||
|
||||
/* 32 bit chips have 32 bit integers */
|
||||
|
||||
#if defined(m68k) || defined(i8086) && defined(FLAT_MODEL)
|
||||
#define INT_MAX 2147483647 /* max value of int */
|
||||
#define INT_MIN (int)-2147483648 /* min value */
|
||||
#define UINT_MAX 4294967295 /* unsigned int */
|
||||
#else /* not 32 bit chips */
|
||||
#define INT_MAX 32767 /* max for int */
|
||||
#define INT_MIN (int)-32768 /* min for int */
|
||||
#define UINT_MAX 65535 /* unsigned int */
|
||||
#endif /* 32 bit chips */
|
||||
#define LONG_MAX 2147483647 /* max value of long */
|
||||
#define LONG_MIN (long)-2147483648 /* min value */
|
||||
#define ULONG_MAX 4294967295 /* unsigned long */
|
||||
23
compilers/HT-XA/INCLUDE/MATH.H
Normal file
23
compilers/HT-XA/INCLUDE/MATH.H
Normal file
@@ -0,0 +1,23 @@
|
||||
extern double fabs(double);
|
||||
extern double floor(double);
|
||||
extern double ceil(double);
|
||||
extern double modf(double, double *);
|
||||
extern double sqrt(double);
|
||||
extern double atof(const char *);
|
||||
extern double sin(double);
|
||||
extern double cos(double);
|
||||
extern double tan(double);
|
||||
extern double asin(double);
|
||||
extern double acos(double);
|
||||
extern double atan(double);
|
||||
extern double atan2(double, double);
|
||||
extern double frexp(double, int *);
|
||||
extern double ldexp(double, int);
|
||||
extern double log(double);
|
||||
extern double log10(double);
|
||||
extern double pow(double, double);
|
||||
extern double exp(double);
|
||||
extern double sinh(double);
|
||||
extern double cosh(double);
|
||||
extern double tanh(double);
|
||||
extern double eval_poly(double, const double *, int);
|
||||
41
compilers/HT-XA/INCLUDE/SETJMP.H
Normal file
41
compilers/HT-XA/INCLUDE/SETJMP.H
Normal file
@@ -0,0 +1,41 @@
|
||||
#ifndef __SETJMP_H
|
||||
#define __SETJMP_H
|
||||
|
||||
#if defined(z80)
|
||||
typedef int jmp_buf[5];
|
||||
|
||||
#elif defined(i8086)
|
||||
typedef int jmp_buf[8];
|
||||
|
||||
#elif defined(i8096)
|
||||
typedef int jmp_buf[10];
|
||||
|
||||
#elif defined(m68k)
|
||||
typedef int jmp_buf[10];
|
||||
|
||||
#elif defined(_XA_)
|
||||
typedef int jmp_buf[6];
|
||||
|
||||
#elif defined(m6809)
|
||||
typedef int jmp_buf[4];
|
||||
|
||||
#elif defined(m6800)
|
||||
typedef int jmp_buf[2];
|
||||
|
||||
#elif defined(i8051)
|
||||
typedef int jmp_buf[4];
|
||||
|
||||
#elif defined(h8300)||defined(h8300h)
|
||||
typedef int jmp_buf[2];
|
||||
|
||||
#elif defined(m6805)
|
||||
#error setjmp() and longjmp() cannot be implemented on the 6805
|
||||
|
||||
#else
|
||||
#error setjmp.h: Processor type not supported, or not defined.
|
||||
#endif
|
||||
|
||||
extern int setjmp(jmp_buf);
|
||||
extern void longjmp(jmp_buf, int);
|
||||
|
||||
#endif /* __SETJMP_H */
|
||||
57
compilers/HT-XA/INCLUDE/STDARG.H
Normal file
57
compilers/HT-XA/INCLUDE/STDARG.H
Normal file
@@ -0,0 +1,57 @@
|
||||
/* Macros for accessing variable arguments */
|
||||
|
||||
#ifndef _STDARG
|
||||
|
||||
#if (defined(i8051) && !defined(EXTERNAL_STACK))
|
||||
typedef near void * va_list[1];
|
||||
#define va_start(ap, parmn) *ap = __va_start((void *)&parmn)
|
||||
#pragma inline(__va_start)
|
||||
extern near void * __va_start(void *);
|
||||
#define va_arg(ap, type) (*--*(type near **)(ap))
|
||||
#define _STDARG
|
||||
#elif defined(m6805)
|
||||
typedef near void * va_list[1];
|
||||
#define va_start(ap, parmn) *ap = __va_start()
|
||||
#pragma inline(__va_start)
|
||||
extern near void * __va_start(void);
|
||||
#define va_arg(ap, type) (*(*(type near **)ap)++)
|
||||
#define _STDARG
|
||||
#elif defined(_MPC_)
|
||||
typedef void * va_list[1];
|
||||
#define va_start(ap, parmn) *ap = __va_start()
|
||||
#pragma inline(__va_start)
|
||||
extern void * __va_start(void);
|
||||
#define va_arg(ap, type) (*(*(type **)ap)++)
|
||||
#define _STDARG
|
||||
#else
|
||||
typedef void * va_list[1];
|
||||
#endif
|
||||
|
||||
#ifdef i8086
|
||||
#ifdef FLAT_MODEL
|
||||
#define _STACK_ALIGN 4
|
||||
#else
|
||||
#define _STACK_ALIGN 2
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(z80) || defined(_XA_)
|
||||
#define _STACK_ALIGN 2
|
||||
#endif
|
||||
|
||||
#ifdef _STACK_ALIGN
|
||||
#define va_start(ap, parmn) *ap = (char *)&parmn + ((sizeof(parmn)+_STACK_ALIGN-1)&~(_STACK_ALIGN-1))
|
||||
#define va_arg(ap, type) (*(*(type **)ap)++)
|
||||
#define _STDARG
|
||||
#endif
|
||||
|
||||
#ifndef _STDARG
|
||||
#define va_start(ap, parmn) *ap = (char *)&parmn + sizeof parmn
|
||||
#define va_arg(ap, type) (*(*(type **)ap)++)
|
||||
#define _STDARG
|
||||
#endif
|
||||
|
||||
#define va_end(ap)
|
||||
|
||||
|
||||
#endif /* STDARG */
|
||||
13
compilers/HT-XA/INCLUDE/STDDEF.H
Normal file
13
compilers/HT-XA/INCLUDE/STDDEF.H
Normal file
@@ -0,0 +1,13 @@
|
||||
#ifndef _STDDEF
|
||||
typedef int ptrdiff_t; /* result type of pointer difference */
|
||||
typedef unsigned size_t; /* type yielded by sizeof */
|
||||
typedef unsigned short wchar_t; /* wide char type */
|
||||
#define _STDDEF
|
||||
#define offsetof(ty, mem) ((int)&(((ty *)0)->mem))
|
||||
#endif _STDDEF
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL ((void *)0)
|
||||
#endif NULL
|
||||
|
||||
extern int errno; /* system error number */
|
||||
195
compilers/HT-XA/INCLUDE/STDIO.H
Normal file
195
compilers/HT-XA/INCLUDE/STDIO.H
Normal file
@@ -0,0 +1,195 @@
|
||||
#ifndef _STDIO_H_
|
||||
#define _STDIO_H_
|
||||
#if z80
|
||||
#define BUFSIZ 512
|
||||
#define _NFILE 8
|
||||
#else /* z80 */
|
||||
#define BUFSIZ 1024
|
||||
#define _NFILE 20
|
||||
#endif /* z80 */
|
||||
|
||||
#ifndef _STDDEF
|
||||
typedef int ptrdiff_t; /* result type of pointer difference */
|
||||
typedef unsigned size_t; /* type yielded by sizeof */
|
||||
typedef unsigned short wchar_t; /* wide char type */
|
||||
#define _STDDEF
|
||||
#define offsetof(ty, mem) ((int)&(((ty *)0)->mem))
|
||||
#endif /* _STDDEF */
|
||||
|
||||
#ifndef _STDARG
|
||||
#include <stdarg.h>
|
||||
#endif
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL ((void *)0)
|
||||
#endif /* NULL */
|
||||
|
||||
extern int errno; /* system error number */
|
||||
|
||||
#ifndef FILE
|
||||
#define uchar unsigned char
|
||||
|
||||
#if _HOSTED
|
||||
extern struct _iobuf {
|
||||
char * _ptr;
|
||||
int _cnt;
|
||||
char * _base;
|
||||
unsigned short _flag;
|
||||
short _file;
|
||||
size_t _size;
|
||||
} _iob[_NFILE];
|
||||
|
||||
#define FILE struct _iobuf
|
||||
|
||||
#define L_tmpnam 81 /* max length of temporary names */
|
||||
#define _MAXTFILE 8 /* max number of temporary files */
|
||||
|
||||
#if DOS
|
||||
#define FILENAME_MAX 81 /* max length of a pathname */
|
||||
#define FOPEN_MAX 5
|
||||
#endif
|
||||
|
||||
extern struct _tfiles {
|
||||
char tname[L_tmpnam];
|
||||
FILE * tfp;
|
||||
} * _tfilesptr;
|
||||
|
||||
#else /* _HOSTED */
|
||||
|
||||
struct __prbuf
|
||||
{
|
||||
char * ptr;
|
||||
void (* func)(char);
|
||||
};
|
||||
#endif /* _HOSTED */
|
||||
#endif /* FILE */
|
||||
|
||||
#define _IOFBF 0
|
||||
#define _IOREAD 01
|
||||
#define _IOWRT 02
|
||||
#define _IORW 03
|
||||
#define _IONBF 04
|
||||
#define _IOMYBUF 010
|
||||
#define _IOEOF 020
|
||||
#define _IOERR 040
|
||||
#define _IOSTRG 0100
|
||||
#define _IOBINARY 0200
|
||||
#define _IOLBF 0400
|
||||
#define _IODIRN 01000 /* true when file is in write mode */
|
||||
#define _IOAPPEND 02000 /* file was opened in append mode */
|
||||
#define _IOSEEKED 04000 /* a seek has occured since last write */
|
||||
#define _IOTMPFILE 010000 /* this file is a temporary */
|
||||
|
||||
#define EOF (-1)
|
||||
#define _IOSTRING (-67)
|
||||
|
||||
#define SEEK_SET 0
|
||||
#define SEEK_CUR 1
|
||||
#define SEEK_END 2
|
||||
#define TMP_MAX 255
|
||||
|
||||
#if _HOSTED
|
||||
#define stdin (&_iob[0])
|
||||
#define stdout (&_iob[1])
|
||||
#define stderr (&_iob[2])
|
||||
#ifdef DOS
|
||||
#define stdprn (&_iob[3])
|
||||
#endif
|
||||
#define getchar() getc(stdin)
|
||||
#define putchar(x) putc(x,stdout)
|
||||
#else /* _HOSTED */
|
||||
#include <conio.h>
|
||||
#define getchar() getche()
|
||||
#define putchar(x) putch(x)
|
||||
extern int cprintf(char *, ...);
|
||||
#pragma printf_check(cprintf)
|
||||
#ifdef _MPC_
|
||||
extern void _doprnt(char *, const register char *, ...);
|
||||
#else
|
||||
extern int _doprnt(struct __prbuf *, const register char *, register va_list);
|
||||
#endif /* _MPC_ */
|
||||
#endif /* _HOSTED */
|
||||
|
||||
/* getc() and putc() must be functions for CP/M to allow the special
|
||||
* handling of '\r', '\n' and '\032'. The same for MSDOS except that
|
||||
* it at least knows the length of a file.
|
||||
*/
|
||||
|
||||
#define getc(p) fgetc(p)
|
||||
#define putc(x,p) fputc(x,p)
|
||||
|
||||
#define feof(p) (((p)->_flag&_IOEOF)!=0)
|
||||
#define ferror(p) (((p)->_flag&_IOERR)!=0)
|
||||
#define fileno(p) ((unsigned short)p->_file)
|
||||
#define clrerr(p) p->_flag &= ~_IOERR
|
||||
#define clreof(p) p->_flag &= ~_IOEOF
|
||||
#define clearerr(p) p->_flag &= ~(_IOERR|_IOEOF)
|
||||
|
||||
|
||||
#if _HOSTED
|
||||
extern int _flsbuf(char, FILE *);
|
||||
extern int _filbuf(FILE *);
|
||||
extern int fclose(FILE *);
|
||||
extern int fflush(FILE *);
|
||||
extern int fgetc(FILE *);
|
||||
extern int ungetc(int, FILE *);
|
||||
extern int fputc(int, FILE *);
|
||||
extern int getw(FILE *);
|
||||
extern int putw(int, FILE *);
|
||||
extern int fputs(const char *, FILE *);
|
||||
extern int fread(void *, size_t, size_t, FILE *);
|
||||
extern int fwrite(const void *, size_t, size_t, FILE *);
|
||||
extern int fseek(FILE *, long, int);
|
||||
extern int rewind(FILE *);
|
||||
extern void setbuf(FILE *, char *);
|
||||
extern int setvbuf(FILE *, char *, int, size_t);
|
||||
extern int fprintf(FILE *, const char *, ...);
|
||||
extern int fscanf(FILE *, const char *, ...);
|
||||
extern int vfprintf(FILE *, const char *, va_list);
|
||||
extern int vfscanf(FILE *, const char *, va_list);
|
||||
extern int remove(const char *);
|
||||
extern int rename(const char *, const char *);
|
||||
extern FILE * fopen(const char *, const char *);
|
||||
extern FILE * freopen(const char *, const char *, FILE *);
|
||||
extern FILE * fdopen(int, const char *);
|
||||
extern long ftell(FILE *);
|
||||
extern char * fgets(char *, int, FILE *);
|
||||
extern void perror(const char *);
|
||||
extern char * _bufallo(void);
|
||||
extern void _buffree(char *);
|
||||
extern char * tmpnam(char *);
|
||||
extern FILE * tmpfile(void);
|
||||
|
||||
#if unix
|
||||
extern FILE * popen(char *, char *);
|
||||
extern int pclose(FILE *);
|
||||
#endif
|
||||
extern void (*_atexitptr)(void);
|
||||
|
||||
#pragma printf_check(fprintf)
|
||||
|
||||
#endif /* __HOSTED */
|
||||
|
||||
#ifdef _MPC_
|
||||
extern int _doscan(const char *, const char *, va_list);
|
||||
#define vprintf(s, l) _doprnt(0, (s), (l))
|
||||
#define vsprintf(b, s, l) _doprnt((b), (s), (l))
|
||||
#define vscanf(s, l) _doscan(0, (s), (l))
|
||||
#define vsscanf(b, s, l) _doscan((b), (s), (l))
|
||||
#else
|
||||
extern char * gets(char *);
|
||||
extern int puts(const char *);
|
||||
extern int scanf(const char *, ...);
|
||||
extern int sscanf(const char *, const char *, ...);
|
||||
extern int vprintf(const char *, va_list);
|
||||
extern int vsprintf(char *, const char *, va_list);
|
||||
extern int vscanf(const char *, va_list ap);
|
||||
extern int vsscanf(const char *, const char *, va_list);
|
||||
|
||||
#endif /* _MPC_ */
|
||||
|
||||
#pragma printf_check(printf)
|
||||
#pragma printf_check(sprintf)
|
||||
extern int sprintf(char *, const char *, ...);
|
||||
extern int printf(const char *, ...);
|
||||
#endif /* _STDIO_H_ */
|
||||
145
compilers/HT-XA/INCLUDE/STDLIB.H
Normal file
145
compilers/HT-XA/INCLUDE/STDLIB.H
Normal file
@@ -0,0 +1,145 @@
|
||||
/* Standard utility functions */
|
||||
|
||||
#ifndef _STDDEF
|
||||
typedef int ptrdiff_t; /* result type of pointer difference */
|
||||
typedef unsigned size_t; /* type yielded by sizeof */
|
||||
typedef unsigned short wchar_t; /* wide char type */
|
||||
|
||||
#define offsetof(ty, mem) ((int)&(((ty *)0)->mem))
|
||||
|
||||
#define _STDDEF
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL ((void *)0)
|
||||
#endif NULL
|
||||
|
||||
extern int errno; /* system error number */
|
||||
#endif _STDDEF
|
||||
|
||||
#ifndef _STDLIB_
|
||||
#define _STDLIB_
|
||||
#define RAND_MAX 32767 /* max value returned by rand() */
|
||||
#define EXIT_SUCCESS 0
|
||||
#define EXIT_FAILURE 1
|
||||
|
||||
#ifndef _DIVTYPES
|
||||
#ifdef _MPC_
|
||||
typedef struct {
|
||||
int rem; /* remainder */ /* PIC version returns remainder here */
|
||||
int __div_dummy;
|
||||
int quot; /* quotient */
|
||||
} div_t; /* div() return type */
|
||||
typedef struct {
|
||||
unsigned rem; /* remainder */ /* PIC version returns remainder here */
|
||||
unsigned __div_dummy;
|
||||
unsigned quot; /* quotient */
|
||||
} udiv_t; /* div() return type */
|
||||
typedef struct {
|
||||
long rem; /* remainder */
|
||||
long _dummy;
|
||||
long quot; /* quotient */
|
||||
} ldiv_t; /* ldiv() return type */
|
||||
typedef struct {
|
||||
unsigned long rem; /* remainder */
|
||||
unsigned long _dummy;
|
||||
unsigned long quot; /* quotient */
|
||||
} uldiv_t; /* ldiv() return type */
|
||||
#else
|
||||
typedef struct {
|
||||
int quot; /* quotient */
|
||||
int rem; /* remainder */
|
||||
} div_t; /* div() return type */
|
||||
typedef struct {
|
||||
unsigned quot; /* quotient */
|
||||
unsigned rem; /* remainder */
|
||||
} udiv_t; /* div() return type */
|
||||
typedef struct {
|
||||
long quot; /* quotient */
|
||||
long rem; /* remainder */
|
||||
} ldiv_t; /* ldiv() return type */
|
||||
typedef struct {
|
||||
unsigned long quot; /* quotient */
|
||||
unsigned long rem; /* remainder */
|
||||
} uldiv_t; /* ldiv() return type */
|
||||
#endif _MPC_
|
||||
|
||||
#define _DIVTYPES
|
||||
#endif
|
||||
|
||||
extern double atof(const char *);
|
||||
extern double strtod(const char *, const char **);
|
||||
extern int atoi(const char *);
|
||||
extern unsigned xtoi(const char *);
|
||||
extern long atol(const char *);
|
||||
extern int rand(void);
|
||||
extern void srand(unsigned int);
|
||||
extern void * calloc(size_t, size_t);
|
||||
extern div_t div(int numer, int denom);
|
||||
extern udiv_t udiv(unsigned numer, unsigned denom);
|
||||
extern ldiv_t ldiv(long numer, long denom);
|
||||
extern uldiv_t uldiv(unsigned long numer,unsigned long denom);
|
||||
extern unsigned long _lrotl(unsigned long value, unsigned int shift);
|
||||
extern unsigned long _lrotr(unsigned long value, unsigned int shift);
|
||||
extern unsigned int _rotl(unsigned int value, unsigned int shift);
|
||||
extern unsigned int _rotr(unsigned int value, unsigned int shift);
|
||||
|
||||
#define max(a,b) (((a) > (b)) ? (a) : (b))
|
||||
#define min(a,b) (((a) < (b)) ? (a) : (b))
|
||||
|
||||
#if i8086 && !FLAT_MODEL
|
||||
enum { _NO_EMS = 0, _USE_EMS };
|
||||
#endif
|
||||
|
||||
#if i8086 && LARGE_DATA
|
||||
extern void * malloc(size_t);
|
||||
extern void free(far void *);
|
||||
extern void * realloc(far void *, size_t);
|
||||
extern void * farmemcpy(far void *, far void *, size_t);
|
||||
extern void * farmemset(far void *, int, size_t);
|
||||
extern void * _far_alloc(size_t, char);
|
||||
extern void * _far_sbrk(size_t, char);
|
||||
extern near void * nearsbrk(size_t);
|
||||
#define farmalloc(n) _far_alloc(n, _USE_EMS)
|
||||
#define farfree(p) free(p)
|
||||
#define farrealloc(p,n) realloc(p,n)
|
||||
#define _non_ems_alloc(x) _far_alloc(x, _NO_EMS)
|
||||
#define _non_ems_sbrk(x) _far_sbrk(x, _NO_EMS)
|
||||
#else
|
||||
extern void * malloc(size_t);
|
||||
extern void free(void *);
|
||||
extern void * realloc(void *, size_t);
|
||||
#define _non_ems_alloc(x) malloc(x)
|
||||
#define _non_ems_sbrk(x) sbrk(x)
|
||||
#if i8086 && !FLAT_MODEL
|
||||
extern far void * _far_alloc(size_t, char);
|
||||
extern far void * _far_sbrk(size_t, char);
|
||||
#define farmalloc(n) _far_alloc(n, _USE_EMS)
|
||||
extern void farfree(far void *);
|
||||
extern far void * farrealloc(far void *, size_t);
|
||||
extern far void * farmemcpy(far void *, far void *, size_t);
|
||||
extern far void * farmemset(far void *, int, size_t);
|
||||
#endif /* i8086 */
|
||||
#endif /* i8086 && LARGE_DATA */
|
||||
|
||||
extern void abort(void);
|
||||
extern void exit(int);
|
||||
extern int atexit(void (*)(void));
|
||||
extern char * getenv(const char *);
|
||||
extern char ** environ;
|
||||
extern int system(char *);
|
||||
extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
|
||||
extern void * bsearch(const void *, void *, size_t, size_t, int(*)(const void *, const void *));
|
||||
extern int abs(int);
|
||||
extern long labs(long);
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef z80
|
||||
extern unsigned char __daa(unsigned char);
|
||||
#pragma inline(__daa)
|
||||
#endif
|
||||
|
||||
#if defined(_XA_) && sizeof(double) == 8
|
||||
extern double ieee_to_fastdouble(double);
|
||||
extern double fastdouble_to_ieee(double);
|
||||
#endif
|
||||
57
compilers/HT-XA/INCLUDE/STRING.H
Normal file
57
compilers/HT-XA/INCLUDE/STRING.H
Normal file
@@ -0,0 +1,57 @@
|
||||
/* String functions */
|
||||
|
||||
#ifndef _STDDEF
|
||||
typedef int ptrdiff_t; /* result type of pointer difference */
|
||||
typedef unsigned size_t; /* type yielded by sizeof */
|
||||
typedef unsigned short wchar_t; /* wide char type */
|
||||
#define _STDDEF
|
||||
#define offsetof(ty, mem) ((int)&(((ty *)0)->mem))
|
||||
extern int errno; /* system error number */
|
||||
|
||||
#endif _STDDEF
|
||||
|
||||
#if defined(_PIC14) || defined(_PIC12)
|
||||
#define __CONST const
|
||||
#else
|
||||
#define __CONST
|
||||
#endif
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL ((void *)0)
|
||||
#endif NULL
|
||||
|
||||
extern void * memcpy(void *, const void *, size_t);
|
||||
extern void * memmove(void *, const void *, size_t);
|
||||
extern char * strcpy(char *, const char *);
|
||||
extern char * strncpy(char *, const char *, size_t);
|
||||
extern char * strcat(char *, const char *);
|
||||
extern char * strncat(char *, const char *, size_t);
|
||||
extern int memcmp(const void *, const void *, size_t);
|
||||
extern int strcmp(const char *, const char *);
|
||||
extern int stricmp(const char *, const char *);
|
||||
extern int strncmp(const char *, const char *, size_t);
|
||||
extern int strnicmp(const char *, const char *, size_t);
|
||||
extern size_t strcoll(char *, size_t, char *);
|
||||
extern __CONST void * memchr(const void *, int, size_t);
|
||||
extern size_t strcspn(const char *, const char *);
|
||||
extern __CONST char * strpbrk(const char *, const char *);
|
||||
extern size_t strspn(const char *, const char *);
|
||||
extern __CONST char * strstr(const char *, const char *);
|
||||
extern __CONST char * stristr(const char *, const char *);
|
||||
extern char * strtok(char *, const char *);
|
||||
extern char * strdup(const char *);
|
||||
extern void * memset(void *, int, size_t);
|
||||
extern char * strerror(int);
|
||||
extern size_t strlen(const char *);
|
||||
extern __CONST char * strchr(const char *, int);
|
||||
extern __CONST char * strichr(const char *, int);
|
||||
extern __CONST char * strrchr(const char *, int);
|
||||
extern __CONST char * strrichr(const char *, int);
|
||||
|
||||
#ifdef z80
|
||||
#pragma inline(memcpy)
|
||||
#pragma inline(memset)
|
||||
#pragma inline(strcpy)
|
||||
#pragma inline(strlen)
|
||||
#pragma inline(strcmp)
|
||||
#endif
|
||||
95
compilers/HT-XA/INCLUDE/SYS.H
Normal file
95
compilers/HT-XA/INCLUDE/SYS.H
Normal file
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* System-dependent functions.
|
||||
*/
|
||||
|
||||
#ifndef _STDDEF
|
||||
typedef int ptrdiff_t; /* result type of pointer difference */
|
||||
typedef unsigned size_t; /* type yielded by sizeof */
|
||||
typedef unsigned short wchar_t; /* wide char type */
|
||||
#define _STDDEF
|
||||
#define offsetof(ty, mem) ((int)&(((ty *)0)->mem))
|
||||
#endif _STDDEF
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL ((void *)0)
|
||||
#endif NULL
|
||||
|
||||
extern int errno; /* system error number */
|
||||
|
||||
#if defined(DOS)
|
||||
#ifndef _FREEMEM
|
||||
#define _FREEMEM
|
||||
struct freemem {
|
||||
unsigned long fr_dosmem;
|
||||
unsigned long fr_extmem;
|
||||
};
|
||||
#endif
|
||||
extern void getfreemem(struct freemem *);
|
||||
#endif
|
||||
|
||||
extern int execl(char *, char *, ...);
|
||||
extern int execv(char *, char **);
|
||||
extern int execve(char *, char **, char **);
|
||||
extern int execle(char *, char *, ...);
|
||||
extern int execvp(char *, char **);
|
||||
extern int execlp(char *, char *, ...);
|
||||
extern int getpid(void);
|
||||
extern char * mktemp(char *);
|
||||
#if defined(unix) || defined(ATDOS)
|
||||
extern void sync(void);
|
||||
extern int fork(void);
|
||||
extern int wait(int *);
|
||||
extern int getuid(void);
|
||||
extern int setuid(int);
|
||||
extern int kill(int, int);
|
||||
extern int alarm(int);
|
||||
extern int pause(void);
|
||||
extern void sleep(unsigned int);
|
||||
extern int setpgrp(void);
|
||||
extern int getpgrp(void);
|
||||
#else unix
|
||||
extern int spawnl(char *, char *, ...);
|
||||
extern int spawnv(char *, char **);
|
||||
extern int spawnle(char *, char *, ...);
|
||||
extern int spawnve(char *, char **, char **);
|
||||
extern int spawnlp(char *, char *, ...);
|
||||
extern int spawnvp(char *, char **);
|
||||
#endif unix
|
||||
extern int chdir(char *);
|
||||
extern int chdrv(char *);
|
||||
extern int mkdir(char *);
|
||||
extern int rmdir(char *);
|
||||
extern char * getcwd(char *);
|
||||
extern void persist_validate(void);
|
||||
extern int persist_check(int);
|
||||
extern char * getdrv(void);
|
||||
extern char ** _getargs(char *, char *);
|
||||
extern int _argc_;
|
||||
|
||||
#if z80 || i8086
|
||||
#define inp(p) (*(port unsigned char *)(p))
|
||||
#define outp(p,v) (*(port unsigned char *)(p) = (v))
|
||||
#if i8086
|
||||
#define inpw(p) (*(port unsigned short *)(p))
|
||||
#define outpw(p,v) (*(port unsigned short *)(p) = (v))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
extern void * sbrk(size_t);
|
||||
extern void brk(void *);
|
||||
#if _HOSTED
|
||||
struct _iob;
|
||||
extern int _pnum(unsigned long, signed char, signed char, unsigned char, unsigned char, struct _iobuf *, unsigned char);
|
||||
extern int _fnum(double, short, short, short, struct _iobuf *, short);
|
||||
#else
|
||||
extern int _pnum(unsigned long, signed char, signed char, unsigned char, unsigned char, struct __prbuf *, unsigned char);
|
||||
extern int _fnum(double, short, short, short, struct __prbuf *, short);
|
||||
#endif
|
||||
|
||||
#if defined(ATDOS)
|
||||
extern int load_driver(char *);
|
||||
extern int send_message(unsigned short, unsigned short, unsigned long,
|
||||
unsigned long, void *, unsigned short);
|
||||
extern int get_message(unsigned short *, unsigned long *, void *,
|
||||
unsigned short *);
|
||||
#endif
|
||||
42
compilers/HT-XA/INCLUDE/TIME.H
Normal file
42
compilers/HT-XA/INCLUDE/TIME.H
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef _TIME
|
||||
|
||||
#ifndef _STDDEF
|
||||
typedef int ptrdiff_t; /* result type of pointer difference */
|
||||
typedef unsigned size_t; /* type yielded by sizeof */
|
||||
typedef unsigned short wchar_t; /* wide char type */
|
||||
#define _STDDEF
|
||||
#define offsetof(ty, mem) ((int)&(((ty *)0)->mem))
|
||||
#endif _STDDEF
|
||||
|
||||
typedef long time_t; /* for representing times in seconds */
|
||||
struct tm {
|
||||
int tm_sec;
|
||||
int tm_min;
|
||||
int tm_hour;
|
||||
int tm_mday;
|
||||
int tm_mon;
|
||||
int tm_year;
|
||||
int tm_wday;
|
||||
int tm_yday;
|
||||
int tm_isdst;
|
||||
};
|
||||
|
||||
#define CLOCKS_PER_SEC 1
|
||||
#define clock() (-1L)
|
||||
#define difftime(t1, t0) ((double)((time_t)(t1)-(time_t)(t0)))
|
||||
#define _TIME
|
||||
#endif _TIME
|
||||
|
||||
extern int time_zone; /* minutes WESTWARD of Greenwich */
|
||||
/* this value defaults to 0 since with
|
||||
operating systems like MS-DOS there is
|
||||
no time zone information available */
|
||||
|
||||
extern time_t time(time_t *); /* seconds since 00:00:00 Jan 1 1970 */
|
||||
extern int stime(time_t *); /* set time */
|
||||
extern char * asctime(struct tm *); /* converts struct tm to ascii time */
|
||||
extern char * ctime(time_t *); /* current local time in ascii form */
|
||||
extern struct tm * gmtime(time_t *); /* Universal time */
|
||||
extern struct tm * localtime(time_t *); /* local time */
|
||||
extern time_t mktime(struct tm *);
|
||||
extern size_t strftime(char *, size_t, const char *, const struct tm *);
|
||||
247
compilers/HT-XA/INCLUDE/XA.H
Normal file
247
compilers/HT-XA/INCLUDE/XA.H
Normal file
@@ -0,0 +1,247 @@
|
||||
/*
|
||||
* XA G3 SFR definitions
|
||||
* Extracted directly from Philips documentation
|
||||
*/
|
||||
|
||||
#ifndef __xa_h__
|
||||
#define __xa_h__
|
||||
|
||||
extern unsigned int __trap(unsigned char, ...);
|
||||
#pragma inline(__trap)
|
||||
|
||||
static unsigned short PSW @ 0x400; /* Program status word */
|
||||
static unsigned char PSWL @ 0x400; /* Program status word (low byte) */
|
||||
static unsigned char PSWH @ 0x401; /* Program status word (high byte) */
|
||||
static unsigned char PSW51 @ 0x402; /* 80C51 compatible PSW */
|
||||
static unsigned char SSEL @ 0x403; /* Segment selection register */
|
||||
static unsigned char PCON @ 0x404; /* Power control register */
|
||||
static unsigned char TCON @ 0x410; /* Timer 0 and 1 control register */
|
||||
static unsigned char TSTAT @ 0x411; /* Timer 0 and 1 extended status */
|
||||
static unsigned char T2CON @ 0x418; /* Timer 2 control register */
|
||||
static unsigned char T2MOD @ 0x419; /* Timer 2 mode control */
|
||||
static unsigned char WDCON @ 0x41F; /* Watchdog control register */
|
||||
static unsigned char S0CON @ 0x420; /* Serial port 0 control register */
|
||||
static unsigned char S0STAT @ 0x421; /* Serial port 0 extended status */
|
||||
static unsigned char S1CON @ 0x424; /* Serial port 1 control register */
|
||||
static unsigned char S1STAT @ 0x425; /* Serial port 1 extended status */
|
||||
static unsigned char IEL @ 0x426; /* Interrupt enable low byte */
|
||||
static unsigned char IEH @ 0x427; /* Interrupt enable high byte */
|
||||
static unsigned char SWR @ 0x42A; /* Software Interrupt Request */
|
||||
static unsigned char P0 @ 0x430; /* Port 0 */
|
||||
static unsigned char P1 @ 0x431; /* Port 1 */
|
||||
static unsigned char P2 @ 0x432; /* Port 2 */
|
||||
static unsigned char P3 @ 0x433; /* Port3 */
|
||||
static unsigned char SCR @ 0x440; /* System configuration register */
|
||||
static unsigned char DS @ 0x441; /* Data segment */
|
||||
static unsigned char ES @ 0x442; /* Extra segment */
|
||||
static unsigned char CS @ 0x443; /* Code segment */
|
||||
static unsigned char TL0 @ 0x450; /* Timer 0 low byte */
|
||||
static unsigned char TH0 @ 0x451; /* Timer 0 high byte */
|
||||
static unsigned char TL1 @ 0x452; /* Timer 1 low byte */
|
||||
static unsigned char TH1 @ 0x453; /* Timer 1 high byte */
|
||||
static unsigned char RTL0 @ 0x454; /* Timer 0 extended reload, low byte */
|
||||
static unsigned char RTH0 @ 0x455; /* Timer 0 extended reload, high byte */
|
||||
static unsigned char RTL1 @ 0x456; /* Timer 1 extended reload, low byte */
|
||||
static unsigned char RTH1 @ 0x457; /* Timer 1 extended reload, high byte */
|
||||
static unsigned char TL2 @ 0x458; /* Timer 2 low byte */
|
||||
static unsigned char TH2 @ 0x459; /* Timer 2 high byte */
|
||||
static unsigned char T2CAPL @ 0x45A; /* Timer 2 capture register, low byte */
|
||||
static unsigned char T2CAPH @ 0x45B; /* Timer 2 capture register, high byte */
|
||||
static unsigned char TMOD @ 0x45C; /* Timer 0 and 1 mode register */
|
||||
static unsigned char WFEED1 @ 0x45D; /* Watchdog feed 1 */
|
||||
static unsigned char WFEED2 @ 0x45E; /* Watchdog feed 2 */
|
||||
static unsigned char WDL @ 0x45F; /* Watchdog timer reload */
|
||||
static unsigned char S0BUF @ 0x460; /* Serial port 0 buffer register */
|
||||
static unsigned char S0ADDR @ 0x461; /* Serial port 0 address register */
|
||||
static unsigned char S0ADEN @ 0x462; /* Serial port 0 address enable register */
|
||||
static unsigned char S1BUF @ 0x464; /* Serial port 1 buffer register */
|
||||
static unsigned char S1ADDR @ 0x465; /* Serial port 1 address register */
|
||||
static unsigned char S1ADEN @ 0x466; /* Serial port 1 address enable register */
|
||||
static unsigned char BTRL @ 0x468; /* Bus timing register high byte */
|
||||
static unsigned char BTRH @ 0x469; /* Bus timing register low byte */
|
||||
static unsigned char BCR @ 0x46A; /* Bus configuration register */
|
||||
static unsigned char P0CFGA @ 0x470; /* Port 0 configuration A */
|
||||
static unsigned char P1CFGA @ 0x471; /* Port 1 configuration A */
|
||||
static unsigned char P2CFGA @ 0x472; /* Port 2 configuration A */
|
||||
static unsigned char P3CFGA @ 0x473; /* Port 3 configuration A */
|
||||
static unsigned char SWE @ 0x47A; /* Software Interrupt Enable */
|
||||
static unsigned char IPA0 @ 0x4A0; /* Interrupt priority 0 */
|
||||
static unsigned char IPA1 @ 0x4A1; /* Interrupt priority 1 */
|
||||
static unsigned char IPA2 @ 0x4A2; /* Interrupt priority 2 */
|
||||
static unsigned char IPA4 @ 0x4A4; /* Interrupt priority 4 */
|
||||
static unsigned char IPA5 @ 0x4A5; /* Interrupt priority 5 */
|
||||
static unsigned char P0CFGB @ 0x4F0; /* Port 0 configuration B */
|
||||
static unsigned char P1CFGB @ 0x4F1; /* Port 1 configuration B */
|
||||
static unsigned char P2CFGB @ 0x4F2; /* Port 2 configuration B */
|
||||
static unsigned char P3CFGB @ 0x4F3; /* Port 3 configuration B */
|
||||
|
||||
static bit ETI1 @ 0x33B; /* TX interrupt enable 1 */
|
||||
static bit ERI1 @ 0x33A; /* RX interrupt enable 1 */
|
||||
static bit ETI0 @ 0x339; /* TX interrupt enable 0 */
|
||||
static bit ERI0 @ 0x338; /* RX interrupt enable 0 */
|
||||
static bit EA @ 0x337; /* global int. enable */
|
||||
static bit ET2 @ 0x334; /* timer 2 interrupt */
|
||||
static bit ET1 @ 0x333; /* timer 1 interrupt */
|
||||
static bit EX1 @ 0x332; /* external interrupt 1 */
|
||||
static bit ET0 @ 0x331; /* timer 0 interrupt */
|
||||
static bit EX0 @ 0x330; /* external interrupt 0 */
|
||||
static bit PD @ 0x221; /* power down */
|
||||
static bit IDL @ 0x220;
|
||||
static bit SM @ 0x20F;
|
||||
static bit TM @ 0x20E;
|
||||
static bit RS1 @ 0x20D;
|
||||
static bit RS0 @ 0x20C;
|
||||
static bit IM3 @ 0x20B;
|
||||
static bit IM2 @ 0x20A;
|
||||
static bit IM1 @ 0x209;
|
||||
static bit IM0 @ 0x208;
|
||||
static bit S0M0 @ 0x307;
|
||||
static bit S0M1 @ 0x306;
|
||||
static bit S0M2 @ 0x305;
|
||||
static bit R0EN @ 0x304;
|
||||
static bit T0B8 @ 0x303;
|
||||
static bit R0B8 @ 0x302;
|
||||
static bit TI0 @ 0x301; /* serial port 0 tx ready */
|
||||
static bit RI0 @ 0x300; /* serial port 0 rx ready */
|
||||
static bit FE0 @ 0x30B;
|
||||
static bit BR0 @ 0x30A;
|
||||
static bit OE0 @ 0x309;
|
||||
static bit STINT0 @ 0x308;
|
||||
static bit S1M0 @ 0x327;
|
||||
static bit S1M1 @ 0x326;
|
||||
static bit S1M2 @ 0x325;
|
||||
static bit R1EN @ 0x324;
|
||||
static bit T1B8 @ 0x323;
|
||||
static bit R1B8 @ 0x322;
|
||||
static bit TI1 @ 0x321; /* serial port 0 tx ready */
|
||||
static bit RI1 @ 0x320; /* serial port 0 rx ready */
|
||||
static bit FE1 @ 0x32B;
|
||||
static bit BR1 @ 0x32A;
|
||||
static bit OE1 @ 0x329;
|
||||
static bit STINT1 @ 0x328;
|
||||
static bit SWR7 @ 0x356;
|
||||
static bit SWR6 @ 0x355;
|
||||
static bit SWR5 @ 0x354;
|
||||
static bit SWR4 @ 0x353;
|
||||
static bit SWR3 @ 0x352;
|
||||
static bit SWR2 @ 0x351;
|
||||
static bit SWR1 @ 0x350;
|
||||
static bit TF2 @ 0x2C7;
|
||||
static bit EXF2 @ 0x2C6;
|
||||
static bit RCLK0 @ 0x2C5;
|
||||
static bit TCLK0 @ 0x2C4;
|
||||
static bit RCLK1 @ 0x2CD;
|
||||
static bit TCLK1 @ 0x2CC;
|
||||
static bit EXEN2 @ 0x2C3;
|
||||
static bit TR2 @ 0x2C2;
|
||||
static bit CT2 @ 0x2C1;
|
||||
static bit CPRL2 @ 0x2C0;
|
||||
static bit T2OE @ 0x2C9;
|
||||
static bit DCEN @ 0x2C8;
|
||||
static bit TF1 @ 0x287;
|
||||
static bit TR1 @ 0x286;
|
||||
static bit TF0 @ 0x285;
|
||||
static bit TR0 @ 0x284;
|
||||
static bit IE1 @ 0x283;
|
||||
static bit IT1 @ 0x282;
|
||||
static bit IE0 @ 0x281;
|
||||
static bit IT0 @ 0x280;
|
||||
|
||||
static bit T1OE @ 0x28A;
|
||||
static bit T0OE @ 0x288;
|
||||
static bit PRE2 @ 0x2FF;
|
||||
static bit PRE1 @ 0x2FE;
|
||||
static bit PRE0 @ 0x2FD;
|
||||
static bit WDRUN @ 0x2FA;
|
||||
static bit WDTOF @ 0x2F9;
|
||||
static bit WDMOD @ 0x2F8;
|
||||
|
||||
static bit WR1 @ 0x388;
|
||||
static bit RXD1 @ 0x38C;
|
||||
static bit TXD1 @ 0x38D;
|
||||
static bit T2 @ 0x38E;
|
||||
static bit T2EX @ 0x38F;
|
||||
static bit RXD0 @ 0x398;
|
||||
static bit TXD0 @ 0x399;
|
||||
static bit INT0 @ 0x39A;
|
||||
static bit INT1 @ 0x39B;
|
||||
static bit T0 @ 0x39C;
|
||||
static bit T1 @ 0x39D;
|
||||
static bit WR @ 0x39E;
|
||||
static bit RD @ 0x39F;
|
||||
|
||||
/*
|
||||
* Interrupt-related
|
||||
*/
|
||||
|
||||
|
||||
/* Vectors */
|
||||
/* Exception vectors. */
|
||||
#define IV_BRKPT 0x04 /* breakpoint vector */
|
||||
#define IV_TRACE 0x08 /* Trace mode bit set */
|
||||
#define IV_STKOVER 0x0C /* stack overflow */
|
||||
#define IV_DIVZERO 0x10 /* divide by zero */
|
||||
#define IV_IRET 0x14 /* user mode IRET */
|
||||
|
||||
#define IV_TRI0 0x40 /* Trap interrupt vectors. */
|
||||
#define IV_TRI1 0x44
|
||||
#define IV_TRI2 0x48
|
||||
#define IV_TRI3 0x4C
|
||||
#define IV_TRI4 0x50
|
||||
#define IV_TRI5 0x54
|
||||
#define IV_TRI6 0x58
|
||||
#define IV_TRI7 0x5C
|
||||
#define IV_TRI8 0x60
|
||||
#define IV_TRI9 0x64
|
||||
#define IV_TRI10 0x68
|
||||
#define IV_TRI11 0x6C
|
||||
#define IV_TRI12 0x70
|
||||
#define IV_TRI13 0x74
|
||||
#define IV_TRI14 0x78
|
||||
#define IV_TRI15 0x7C
|
||||
#define IV_EX0 0x80 /* Event interrupt vectors. */
|
||||
#define IV_T0 0x84
|
||||
#define IV_EX1 0x88
|
||||
#define IV_T1 0x8C
|
||||
#define IV_T2 0x90
|
||||
#define IV_RI0 0xA0
|
||||
#define IV_TI0 0xA4
|
||||
#define IV_RI1 0xA8
|
||||
#define IV_TI1 0xAC
|
||||
#define IV_SWI1 0x100 /* Software interrupt vectorss */
|
||||
#define IV_SWI2 0x104
|
||||
#define IV_SWI3 0x108
|
||||
#define IV_SWI4 0x10C
|
||||
#define IV_SWI5 0x110
|
||||
#define IV_SWI6 0x114
|
||||
#define IV_SWI7 0x118
|
||||
|
||||
/* PSW Values for interrupt vectors */
|
||||
|
||||
#define IV_PSW 0x8F00 /* System mode, high priority, bank 0 */
|
||||
|
||||
#define IV_SYSTEM 0x8000
|
||||
|
||||
#define IV_PRI00 0x0000 /* priorities 0 - 15 */
|
||||
#define IV_PRI01 0x0100
|
||||
#define IV_PRI02 0x0200
|
||||
#define IV_PRI03 0x0300
|
||||
#define IV_PRI04 0x0400
|
||||
#define IV_PRI05 0x0500
|
||||
#define IV_PRI06 0x0600
|
||||
#define IV_PRI07 0x0700
|
||||
#define IV_PRI08 0x0800
|
||||
#define IV_PRI09 0x0900
|
||||
#define IV_PRI10 0x0A00
|
||||
#define IV_PRI11 0x0B00
|
||||
#define IV_PRI12 0x0C00
|
||||
#define IV_PRI13 0x0D00
|
||||
#define IV_PRI14 0x0E00
|
||||
#define IV_PRI15 0x0F00
|
||||
|
||||
#define IV_BANK0 0x0000
|
||||
#define IV_BANK1 0x1000
|
||||
#define IV_BANK2 0x2000
|
||||
#define IV_BANK3 0x3000
|
||||
|
||||
#endif /* __xa_h__ */
|
||||
555
compilers/HT-XA/INCLUDE/xa-c3.h
Normal file
555
compilers/HT-XA/INCLUDE/xa-c3.h
Normal file
@@ -0,0 +1,555 @@
|
||||
/*
|
||||
* XA-C3 SFR definitions
|
||||
* Extracted directly from Philips documentation
|
||||
*/
|
||||
|
||||
#ifndef __xa_h__
|
||||
#define __xa_h__
|
||||
|
||||
extern unsigned int __trap(unsigned char, ...);
|
||||
#pragma inline(__trap)
|
||||
|
||||
static unsigned char M0MIDH @ 0x000; /* message 0 match ID high */
|
||||
static unsigned char M0MIDL @ 0x002; /* message 0 match ID low */
|
||||
static unsigned char M0MSKH @ 0x004; /* message 0 mask high */
|
||||
static unsigned char M0MSKL @ 0x006; /* message 0 mask low */
|
||||
static unsigned char M0CTRL @ 0x008; /* message 0 control */
|
||||
static unsigned char M0BLR @ 0x00A; /* message 0 buffer location */
|
||||
static unsigned char M0BSZ @ 0x00C; /* message 0 buffer size */
|
||||
static unsigned char M0FCR @ 0x00E; /* message 0 fragmentation count */
|
||||
static unsigned char M1MIDH @ 0x010; /* message 1 match ID high */
|
||||
static unsigned char M1MIDL @ 0x012; /* message 1 match ID low */
|
||||
static unsigned char M1MSKH @ 0x014; /* message 1 mask high */
|
||||
static unsigned char M1MSKL @ 0x016; /* message 1 mask low */
|
||||
static unsigned char M1CTRL @ 0x018; /* message 1 control */
|
||||
static unsigned char M1BLR @ 0x01A; /* message 1 buffer location */
|
||||
static unsigned char M1BSZ @ 0x01C; /* message 1 buffer size */
|
||||
static unsigned char M1FCR @ 0x01E; /* message 1 fragmentation count */
|
||||
static unsigned char M2MIDH @ 0x020; /* message 2 match ID high */
|
||||
static unsigned char M2MIDL @ 0x022; /* message 2 match ID low */
|
||||
static unsigned char M2MSKH @ 0x024; /* message 2 mask high */
|
||||
static unsigned char M2MSKL @ 0x026; /* message 2 mask low */
|
||||
static unsigned char M2CTRL @ 0x028; /* message 2 control */
|
||||
static unsigned char M2BLR @ 0x02A; /* message 2 buffer location */
|
||||
static unsigned char M2BSZ @ 0x02C; /* message 2 buffer size */
|
||||
static unsigned char M2FCR @ 0x02E; /* message 2 fragmentation count */
|
||||
static unsigned char M3MIDH @ 0x030; /* message 3 match ID high */
|
||||
static unsigned char M3MIDL @ 0x032; /* message 3 match ID low */
|
||||
static unsigned char M3MSKH @ 0x034; /* message 3 mask high */
|
||||
static unsigned char M3MSKL @ 0x036; /* message 3 mask low */
|
||||
static unsigned char M3CTRL @ 0x038; /* message 3 control */
|
||||
static unsigned char M3BLR @ 0x03A; /* message 3 buffer location */
|
||||
static unsigned char M3BSZ @ 0x03C; /* message 3 buffer size */
|
||||
static unsigned char M3FCR @ 0x03E; /* message 3 fragmentation count */
|
||||
static unsigned char M4MIDH @ 0x040; /* message 4 match ID high */
|
||||
static unsigned char M4MIDL @ 0x042; /* message 4 match ID low */
|
||||
static unsigned char M4MSKH @ 0x044; /* message 4 mask high */
|
||||
static unsigned char M4MSKL @ 0x046; /* message 4 mask low */
|
||||
static unsigned char M4CTRL @ 0x048; /* message 4 control */
|
||||
static unsigned char M4BLR @ 0x04A; /* message 4 buffer location */
|
||||
static unsigned char M4BSZ @ 0x04C; /* message 4 buffer size */
|
||||
static unsigned char M4FCR @ 0x04E; /* message 4 fragmentation count */
|
||||
static unsigned char M5MIDH @ 0x050; /* message 5 match ID high */
|
||||
static unsigned char M5MIDL @ 0x052; /* message 5 match ID low */
|
||||
static unsigned char M5MSKH @ 0x054; /* message 5 mask high */
|
||||
static unsigned char M5MSKL @ 0x056; /* message 5 mask low */
|
||||
static unsigned char M5CTRL @ 0x058; /* message 5 control */
|
||||
static unsigned char M5BLR @ 0x05A; /* message 5 buffer location */
|
||||
static unsigned char M5BSZ @ 0x05C; /* message 5 buffer size */
|
||||
static unsigned char M5FCR @ 0x05E; /* message 5 fragmentation count */
|
||||
static unsigned char M6MIDH @ 0x060; /* message 6 match ID high */
|
||||
static unsigned char M6MIDL @ 0x062; /* message 6 match ID low */
|
||||
static unsigned char M6MSKH @ 0x064; /* message 6 mask high */
|
||||
static unsigned char M6MSKL @ 0x066; /* message 6 mask low */
|
||||
static unsigned char M6CTRL @ 0x068; /* message 6 control */
|
||||
static unsigned char M6BLR @ 0x06A; /* message 6 buffer location */
|
||||
static unsigned char M6BSZ @ 0x06C; /* message 6 buffer size */
|
||||
static unsigned char M6FCR @ 0x06E; /* message 6 fragmentation count */
|
||||
static unsigned char M7MIDH @ 0x070; /* message 7 match ID high */
|
||||
static unsigned char M7MIDL @ 0x072; /* message 7 match ID low */
|
||||
static unsigned char M7MSKH @ 0x074; /* message 7 mask high */
|
||||
static unsigned char M7MSKL @ 0x076; /* message 7 mask low */
|
||||
static unsigned char M7CTRL @ 0x078; /* message 7 control */
|
||||
static unsigned char M7BLR @ 0x07A; /* message 7 buffer location */
|
||||
static unsigned char M7BSZ @ 0x07C; /* message 7 buffer size */
|
||||
static unsigned char M7FCR @ 0x07E; /* message 7 fragmentation count */
|
||||
static unsigned char M8MIDH @ 0x080; /* message 8 match ID high */
|
||||
static unsigned char M8MIDL @ 0x082; /* message 8 match ID low */
|
||||
static unsigned char M8MSKH @ 0x084; /* message 8 mask high */
|
||||
static unsigned char M8MSKL @ 0x086; /* message 8 mask low */
|
||||
static unsigned char M8CTRL @ 0x088; /* message 8 control */
|
||||
static unsigned char M8BLR @ 0x08A; /* message 8 buffer location */
|
||||
static unsigned char M8BSZ @ 0x08C; /* message 8 buffer size */
|
||||
static unsigned char M8FCR @ 0x08E; /* message 8 fragmentation count */
|
||||
static unsigned char M9MIDH @ 0x090; /* message 9 match ID high */
|
||||
static unsigned char M9MIDL @ 0x092; /* message 9 match ID low */
|
||||
static unsigned char M9MSKH @ 0x094; /* message 9 mask high */
|
||||
static unsigned char M9MSKL @ 0x096; /* message 9 mask low */
|
||||
static unsigned char M9CTRL @ 0x098; /* message 9 control */
|
||||
static unsigned char M9BLR @ 0x09A; /* message 9 buffer location */
|
||||
static unsigned char M9BSZ @ 0x09C; /* message 9 buffer size */
|
||||
static unsigned char M9FCR @ 0x09E; /* message 9 fragmentation count */
|
||||
static unsigned char M10MIDH @ 0x0A0; /* message 10 match ID high */
|
||||
static unsigned char M10MIDL @ 0x0A2; /* message 10 match ID low */
|
||||
static unsigned char M10MSKH @ 0x0A4; /* message 10 mask high */
|
||||
static unsigned char M10MSKL @ 0x0A6; /* message 10 mask low */
|
||||
static unsigned char M10CTRL @ 0x0A8; /* message 10 control */
|
||||
static unsigned char M10BLR @ 0x0AA; /* message 10 buffer location */
|
||||
static unsigned char M10BSZ @ 0x0AC; /* message 10 buffer size */
|
||||
static unsigned char M10FCR @ 0x0AE; /* message 10 fragmentation count */
|
||||
static unsigned char M11MIDH @ 0x0B0; /* message 11 match ID high */
|
||||
static unsigned char M11MIDL @ 0x0B2; /* message 11 match ID low */
|
||||
static unsigned char M11MSKH @ 0x0B4; /* message 11 mask high */
|
||||
static unsigned char M11MSKL @ 0x0B6; /* message 11 mask low */
|
||||
static unsigned char M11CTRL @ 0x0B8; /* message 11 control */
|
||||
static unsigned char M11BLR @ 0x0BA; /* message 11 buffer location */
|
||||
static unsigned char M11BSZ @ 0x0BC; /* message 11 buffer size */
|
||||
static unsigned char M11FCR @ 0x0BE; /* message 11 fragmentation count */
|
||||
static unsigned char M12MIDH @ 0x0C0; /* message 12 match ID high */
|
||||
static unsigned char M12MIDL @ 0x0C2; /* message 12 match ID low */
|
||||
static unsigned char M12MSKH @ 0x0C4; /* message 12 mask high */
|
||||
static unsigned char M12MSKL @ 0x0C6; /* message 12 mask low */
|
||||
static unsigned char M12CTRL @ 0x0C8; /* message 12 control */
|
||||
static unsigned char M12BLR @ 0x0CA; /* message 12 buffer location */
|
||||
static unsigned char M12BSZ @ 0x0CC; /* message 12 buffer size */
|
||||
static unsigned char M12FCR @ 0x0CE; /* message 12 fragmentation count */
|
||||
static unsigned char M13MIDH @ 0x0D0; /* message 13 match ID high */
|
||||
static unsigned char M13MIDL @ 0x0D2; /* message 13 match ID low */
|
||||
static unsigned char M13MSKH @ 0x0D4; /* message 13 mask high */
|
||||
static unsigned char M13MSKL @ 0x0D6; /* message 13 mask low */
|
||||
static unsigned char M13CTRL @ 0x0D8; /* message 13 control */
|
||||
static unsigned char M13BLR @ 0x0DA; /* message 13 buffer location */
|
||||
static unsigned char M13BSZ @ 0x0DC; /* message 13 buffer size */
|
||||
static unsigned char M13FCR @ 0x0DE; /* message 13 fragmentation count */
|
||||
static unsigned char M14MIDH @ 0x0E0; /* message 14 match ID high */
|
||||
static unsigned char M14MIDL @ 0x0E2; /* message 14 match ID low */
|
||||
static unsigned char M14MSKH @ 0x0E4; /* message 14 mask high */
|
||||
static unsigned char M14MSKL @ 0x0E6; /* message 14 mask low */
|
||||
static unsigned char M14CTRL @ 0x0E8; /* message 14 control */
|
||||
static unsigned char M14BLR @ 0x0EA; /* message 14 buffer location */
|
||||
static unsigned char M14BSZ @ 0x0EC; /* message 14 buffer size */
|
||||
static unsigned char M14FCR @ 0x0EE; /* message 14 fragmentation count */
|
||||
static unsigned char M15MIDH @ 0x0F0; /* message 15 match ID high */
|
||||
static unsigned char M15MIDL @ 0x0F2; /* message 15 match ID low */
|
||||
static unsigned char M15MSKH @ 0x0F4; /* message 15 mask high */
|
||||
static unsigned char M15MSKL @ 0x0F6; /* message 15 mask low */
|
||||
static unsigned char M15CTRL @ 0x0F8; /* message 15 control */
|
||||
static unsigned char M15BLR @ 0x0FA; /* message 15 buffer location */
|
||||
static unsigned char M15BSZ @ 0x0FC; /* message 15 buffer size */
|
||||
static unsigned char M15FCR @ 0x0FE; /* message 15 fragmentation count */
|
||||
static unsigned char M16MIDH @ 0x100; /* message 16 match ID high */
|
||||
static unsigned char M16MIDL @ 0x102; /* message 16 match ID low */
|
||||
static unsigned char M16MSKH @ 0x104; /* message 16 mask high */
|
||||
static unsigned char M16MSKL @ 0x106; /* message 16 mask low */
|
||||
static unsigned char M16CTRL @ 0x108; /* message 16 control */
|
||||
static unsigned char M16BLR @ 0x10A; /* message 16 buffer location */
|
||||
static unsigned char M16BSZ @ 0x10C; /* message 16 buffer size */
|
||||
static unsigned char M16FCR @ 0x10E; /* message 16 fragmentation count */
|
||||
static unsigned char M17MIDH @ 0x110; /* message 17 match ID high */
|
||||
static unsigned char M17MIDL @ 0x112; /* message 17 match ID low */
|
||||
static unsigned char M17MSKH @ 0x114; /* message 17 mask high */
|
||||
static unsigned char M17MSKL @ 0x116; /* message 17 mask low */
|
||||
static unsigned char M17CTRL @ 0x118; /* message 17 control */
|
||||
static unsigned char M17BLR @ 0x11A; /* message 17 buffer location */
|
||||
static unsigned char M17BSZ @ 0x11C; /* message 17 buffer size */
|
||||
static unsigned char M17FCR @ 0x11E; /* message 17 fragmentation count */
|
||||
static unsigned char M18MIDH @ 0x120; /* message 18 match ID high */
|
||||
static unsigned char M18MIDL @ 0x122; /* message 18 match ID low */
|
||||
static unsigned char M18MSKH @ 0x124; /* message 18 mask high */
|
||||
static unsigned char M18MSKL @ 0x126; /* message 18 mask low */
|
||||
static unsigned char M18CTRL @ 0x128; /* message 18 control */
|
||||
static unsigned char M18BLR @ 0x12A; /* message 18 buffer location */
|
||||
static unsigned char M18BSZ @ 0x12C; /* message 18 buffer size */
|
||||
static unsigned char M18FCR @ 0x12E; /* message 18 fragmentation count */
|
||||
static unsigned char M19MIDH @ 0x130; /* message 19 match ID high */
|
||||
static unsigned char M19MIDL @ 0x132; /* message 19 match ID low */
|
||||
static unsigned char M19MSKH @ 0x134; /* message 19 mask high */
|
||||
static unsigned char M19MSKL @ 0x136; /* message 19 mask low */
|
||||
static unsigned char M19CTRL @ 0x138; /* message 19 control */
|
||||
static unsigned char M19BLR @ 0x13A; /* message 19 buffer location */
|
||||
static unsigned char M19BSZ @ 0x13C; /* message 19 buffer size */
|
||||
static unsigned char M19FCR @ 0x13E; /* message 19 fragmentation count */
|
||||
static unsigned char M20MIDH @ 0x140; /* message 20 match ID high */
|
||||
static unsigned char M20MIDL @ 0x142; /* message 20 match ID low */
|
||||
static unsigned char M20MSKH @ 0x144; /* message 20 mask high */
|
||||
static unsigned char M20MSKL @ 0x146; /* message 20 mask low */
|
||||
static unsigned char M20CTRL @ 0x148; /* message 20 control */
|
||||
static unsigned char M20BLR @ 0x14A; /* message 20 buffer location */
|
||||
static unsigned char M20BSZ @ 0x14C; /* message 20 buffer size */
|
||||
static unsigned char M20FCR @ 0x14E; /* message 20 fragmentation count */
|
||||
static unsigned char M21MIDH @ 0x150; /* message 21 match ID high */
|
||||
static unsigned char M21MIDL @ 0x152; /* message 21 match ID low */
|
||||
static unsigned char M21MSKH @ 0x154; /* message 21 mask high */
|
||||
static unsigned char M21MSKL @ 0x156; /* message 21 mask low */
|
||||
static unsigned char M21CTRL @ 0x158; /* message 21 control */
|
||||
static unsigned char M21BLR @ 0x15A; /* message 21 buffer location */
|
||||
static unsigned char M21BSZ @ 0x15C; /* message 21 buffer size */
|
||||
static unsigned char M21FCR @ 0x15E; /* message 21 fragmentation count */
|
||||
static unsigned char M22MIDH @ 0x160; /* message 22 match ID high */
|
||||
static unsigned char M22MIDL @ 0x162; /* message 22 match ID low */
|
||||
static unsigned char M22MSKH @ 0x164; /* message 22 mask high */
|
||||
static unsigned char M22MSKL @ 0x166; /* message 22 mask low */
|
||||
static unsigned char M22CTRL @ 0x168; /* message 22 control */
|
||||
static unsigned char M22BLR @ 0x16A; /* message 22 buffer location */
|
||||
static unsigned char M22BSZ @ 0x16C; /* message 22 buffer size */
|
||||
static unsigned char M22FCR @ 0x16E; /* message 22 fragmentation count */
|
||||
static unsigned char M23MIDH @ 0x170; /* message 23 match ID high */
|
||||
static unsigned char M23MIDL @ 0x172; /* message 23 match ID low */
|
||||
static unsigned char M23MSKH @ 0x174; /* message 23 mask high */
|
||||
static unsigned char M23MSKL @ 0x176; /* message 23 mask low */
|
||||
static unsigned char M23CTRL @ 0x178; /* message 23 control */
|
||||
static unsigned char M23BLR @ 0x17A; /* message 23 buffer location */
|
||||
static unsigned char M23BSZ @ 0x17C; /* message 23 buffer size */
|
||||
static unsigned char M23FCR @ 0x17E; /* message 23 fragmentation count */
|
||||
static unsigned char M24MIDH @ 0x180; /* message 24 match ID high */
|
||||
static unsigned char M24MIDL @ 0x182; /* message 24 match ID low */
|
||||
static unsigned char M24MSKH @ 0x184; /* message 24 mask high */
|
||||
static unsigned char M24MSKL @ 0x186; /* message 24 mask low */
|
||||
static unsigned char M24CTRL @ 0x188; /* message 24 control */
|
||||
static unsigned char M24BLR @ 0x18A; /* message 24 buffer location */
|
||||
static unsigned char M24BSZ @ 0x18C; /* message 24 buffer size */
|
||||
static unsigned char M24FCR @ 0x18E; /* message 24 fragmentation count */
|
||||
static unsigned char M25MIDH @ 0x190; /* message 25 match ID high */
|
||||
static unsigned char M25MIDL @ 0x192; /* message 25 match ID low */
|
||||
static unsigned char M25MSKH @ 0x194; /* message 25 mask high */
|
||||
static unsigned char M25MSKL @ 0x196; /* message 25 mask low */
|
||||
static unsigned char M25CTRL @ 0x198; /* message 25 control */
|
||||
static unsigned char M25BLR @ 0x19A; /* message 25 buffer location */
|
||||
static unsigned char M25BSZ @ 0x19C; /* message 25 buffer size */
|
||||
static unsigned char M25FCR @ 0x19E; /* message 25 fragmentation count */
|
||||
static unsigned char M26MIDH @ 0x1A0; /* message 26 match ID high */
|
||||
static unsigned char M26MIDL @ 0x1A2; /* message 26 match ID low */
|
||||
static unsigned char M26MSKH @ 0x1A4; /* message 26 mask high */
|
||||
static unsigned char M26MSKL @ 0x1A6; /* message 26 mask low */
|
||||
static unsigned char M26CTRL @ 0x1A8; /* message 26 control */
|
||||
static unsigned char M26BLR @ 0x1AA; /* message 26 buffer location */
|
||||
static unsigned char M26BSZ @ 0x1AC; /* message 26 buffer size */
|
||||
static unsigned char M26FCR @ 0x1AE; /* message 26 fragmentation count */
|
||||
static unsigned char M27MIDH @ 0x1B0; /* message 27 match ID high */
|
||||
static unsigned char M27MIDL @ 0x1B2; /* message 27 match ID low */
|
||||
static unsigned char M27MSKH @ 0x1B4; /* message 27 mask high */
|
||||
static unsigned char M27MSKL @ 0x1B6; /* message 27 mask low */
|
||||
static unsigned char M27CTRL @ 0x1B8; /* message 27 control */
|
||||
static unsigned char M27BLR @ 0x1BA; /* message 27 buffer location */
|
||||
static unsigned char M27BSZ @ 0x1BC; /* message 27 buffer size */
|
||||
static unsigned char M27FCR @ 0x1BE; /* message 27 fragmentation count */
|
||||
static unsigned char M28MIDH @ 0x1C0; /* message 28 match ID high */
|
||||
static unsigned char M28MIDL @ 0x1C2; /* message 28 match ID low */
|
||||
static unsigned char M28MSKH @ 0x1C4; /* message 28 mask high */
|
||||
static unsigned char M28MSKL @ 0x1C6; /* message 28 mask low */
|
||||
static unsigned char M28CTRL @ 0x1C8; /* message 28 control */
|
||||
static unsigned char M28BLR @ 0x1CA; /* message 28 buffer location */
|
||||
static unsigned char M28BSZ @ 0x1CC; /* message 28 buffer size */
|
||||
static unsigned char M28FCR @ 0x1CE; /* message 28 fragmentation count */
|
||||
static unsigned char M29MIDH @ 0x1D0; /* message 29 match ID high */
|
||||
static unsigned char M29MIDL @ 0x1D2; /* message 29 match ID low */
|
||||
static unsigned char M29MSKH @ 0x1D4; /* message 29 mask high */
|
||||
static unsigned char M29MSKL @ 0x1D6; /* message 29 mask low */
|
||||
static unsigned char M29CTRL @ 0x1D8; /* message 29 control */
|
||||
static unsigned char M29BLR @ 0x1DA; /* message 29 buffer location */
|
||||
static unsigned char M29BSZ @ 0x1DC; /* message 29 buffer size */
|
||||
static unsigned char M29FCR @ 0x1DE; /* message 29 fragmentation count */
|
||||
static unsigned char M30MIDH @ 0x1E0; /* message 30 match ID high */
|
||||
static unsigned char M30MIDL @ 0x1E2; /* message 30 match ID low */
|
||||
static unsigned char M30MSKH @ 0x1E4; /* message 30 mask high */
|
||||
static unsigned char M30MSKL @ 0x1E6; /* message 30 mask low */
|
||||
static unsigned char M30CTRL @ 0x1E8; /* message 30 control */
|
||||
static unsigned char M30BLR @ 0x1EA; /* message 30 buffer location */
|
||||
static unsigned char M30BSZ @ 0x1EC; /* message 30 buffer size */
|
||||
static unsigned char M30FCR @ 0x1EE; /* message 30 fragmentation count */
|
||||
static unsigned char M31MIDH @ 0x1F0; /* message 31 match ID high */
|
||||
static unsigned char M31MIDL @ 0x1F2; /* message 31 match ID low */
|
||||
static unsigned char M31MSKH @ 0x1F4; /* message 31 mask high */
|
||||
static unsigned char M31MSKL @ 0x1F6; /* message 31 mask low */
|
||||
static unsigned char M31CTRL @ 0x1F8; /* message 31 control */
|
||||
static unsigned char M31BLR @ 0x1FA; /* message 31 buffer location */
|
||||
static unsigned char M31BSZ @ 0x1FC; /* message 31 buffer size */
|
||||
static unsigned char M31FCR @ 0x1FE; /* message 31 fragmentation count */
|
||||
static unsigned char MCPLL @ 0x224; /* message complete status flags low */
|
||||
static unsigned char MCPLH @ 0x226; /* message complete status flags high */
|
||||
static unsigned char CANINTFLG @ 0x228; /* CAN interrupt flag register */
|
||||
static unsigned char MCIR @ 0x229; /* message complete information */
|
||||
static unsigned char MEIR @ 0x22A; /* message error information */
|
||||
static unsigned char FESTR @ 0x22C; /* frame error status */
|
||||
static unsigned char FEENR @ 0x22E; /* frame error enable */
|
||||
static unsigned char SPICFG @ 0x260; /* SPI configuration */
|
||||
static unsigned char SPIDATA @ 0x262; /* SPI data */
|
||||
static unsigned char SPICS @ 0x263; /* SPI control and status */
|
||||
static unsigned char CANCMR @ 0x270; /* CAN core command */
|
||||
static unsigned char CANSTR @ 0x271; /* CAN core status */
|
||||
static unsigned char CANBTR @ 0x272; /* CAN core bus timing */
|
||||
static unsigned char TXERC @ 0x274; /* tx error counter */
|
||||
static unsigned char RXERC @ 0x275; /* rx error counter */
|
||||
static unsigned char EWLR @ 0x276; /* error warning limit */
|
||||
static unsigned char ECCR @ 0x278; /* error code capture */
|
||||
static unsigned char ALCR @ 0x27A; /* arbitration lost capture */
|
||||
static unsigned char GCTL @ 0x27E; /* global control */
|
||||
static unsigned char XRAMB @ 0x290; /* xram base address */
|
||||
static unsigned char MBXSR @ 0x291; /* message buffer and XRAM segment register */
|
||||
static unsigned char MIFBTRL @ 0x292; /* MIF bus timing register low */
|
||||
static unsigned char MIFBTRH @ 0x293; /* MIF bus timing register high */
|
||||
static unsigned char PSWL @ 0x400; /* program status word low */
|
||||
static unsigned char PSWH @ 0x401; /* program status word high */
|
||||
static unsigned char PSW51 @ 0x402; /* 80c51-compatible PSW */
|
||||
static unsigned char SSEL @ 0x403; /* segment selection register */
|
||||
static unsigned char PCON @ 0x404; /* power control register */
|
||||
static unsigned char TCON @ 0x410; /* timer 0 and 1 control register */
|
||||
static unsigned char TSTAT @ 0x411; /* timer 0 and 1 extended status */
|
||||
static unsigned char T2CON @ 0x418; /* timer 2 control register */
|
||||
static unsigned char T2MOD @ 0x419; /* timer 2 mode control */
|
||||
static unsigned char WDCON @ 0x41F; /* watchdog control register */
|
||||
static unsigned char S0CON @ 0x420; /* serial port 0 control register */
|
||||
static unsigned char S0STAT @ 0x421; /* serial port 0 extended status */
|
||||
static unsigned char IEL @ 0x426; /* interrupt enable low */
|
||||
static unsigned char IEH @ 0x427; /* interrupt enable high */
|
||||
static unsigned char SWR @ 0x42A; /* software interrupt request */
|
||||
static unsigned char P0 @ 0x430; /* port 0 */
|
||||
static unsigned char P1 @ 0x431; /* port 1 */
|
||||
static unsigned char P2 @ 0x432; /* port 2 */
|
||||
static unsigned char P3 @ 0x433; /* port 3 */
|
||||
static unsigned char SCR @ 0x440; /* system configuration register */
|
||||
static unsigned char DS @ 0x441; /* data segment */
|
||||
static unsigned char ES @ 0x442; /* extra segment */
|
||||
static unsigned char CS @ 0x443; /* code segment */
|
||||
static unsigned char TL0 @ 0x450; /* timer 0 low byte */
|
||||
static unsigned char TH0 @ 0x451; /* timer 0 high byte */
|
||||
static unsigned char TL1 @ 0x452; /* timer 1 low byte */
|
||||
static unsigned char TH1 @ 0x453; /* timer 1 high byte */
|
||||
static unsigned char RTL0 @ 0x454; /* timer 0 extended reload low byte */
|
||||
static unsigned char RTH0 @ 0x455; /* timer 0 extended reload high byte */
|
||||
static unsigned char RTL1 @ 0x456; /* timer 1 extended reload low byte */
|
||||
static unsigned char RTH1 @ 0x457; /* timer 1 extended reload high byte */
|
||||
static unsigned char TL2 @ 0x458; /* timer 2 low byte */
|
||||
static unsigned char TH2 @ 0x459; /* timer 2 high byte */
|
||||
static unsigned char T2CAPL @ 0x45A; /* timer 2 capture register, low byte */
|
||||
static unsigned char T2CAPH @ 0x45B; /* timer 2 capture register, high byte */
|
||||
static unsigned char TMOD @ 0x45C; /* timer 0 and 1 mode control */
|
||||
static unsigned char WFEED1 @ 0x45D; /* watchdog feed 1 */
|
||||
static unsigned char WFEED2 @ 0x45E; /* watchdog feed 2 */
|
||||
static unsigned char WDL @ 0x45F; /* watchdog timer reload */
|
||||
static unsigned char S0BUF @ 0x460; /* serial port 0 buffer register */
|
||||
static unsigned char S0ADDR @ 0x461; /* serial port 0 address register */
|
||||
static unsigned char S0ADEN @ 0x462; /* serial port 0 address enable register */
|
||||
static unsigned char BTRL @ 0x468; /* bus timing register low */
|
||||
static unsigned char BTRH @ 0x469; /* bus timing register high */
|
||||
static unsigned char BCR @ 0x46A; /* bus configuration register */
|
||||
static unsigned char P0CFGA @ 0x470; /* port 0 configuration a */
|
||||
static unsigned char P1CFGA @ 0x471; /* port 1 configuration a */
|
||||
static unsigned char P2CFGA @ 0x472; /* port 2 configuration a */
|
||||
static unsigned char P3CFGA @ 0x473; /* port 3 configuration a */
|
||||
static unsigned char SWE @ 0x47A; /* software enable */
|
||||
static unsigned char MIFCNTL @ 0x495; /* MIF control register */
|
||||
static unsigned char MRBL @ 0x496; /* MMR base address low */
|
||||
static unsigned char MRBH @ 0x497; /* MMR base address high */
|
||||
static unsigned char IPA0 @ 0x4A0; /* interrupt priotity assignment 0 */
|
||||
static unsigned char IPA1 @ 0x4A1; /* interrupt priotity assignment 1 */
|
||||
static unsigned char IPA2 @ 0x4A2; /* interrupt priotity assignment 2 */
|
||||
static unsigned char IPA3 @ 0x4A3; /* interrupt priotity assignment 3 */
|
||||
static unsigned char IPA4 @ 0x4A4; /* interrupt priotity assignment 4 */
|
||||
static unsigned char IPA5 @ 0x4A5; /* interrupt priotity assignment 5 */
|
||||
static unsigned char IPA6 @ 0x4A6; /* interrupt priotity assignment 6 */
|
||||
static unsigned char IPA7 @ 0x4A7; /* interrupt priotity assignment 7 */
|
||||
static unsigned char P0CFGB @ 0x4F0; /* port 0 configuration b */
|
||||
static unsigned char P1CFGB @ 0x4F1; /* port 1 configuration b */
|
||||
static unsigned char P2CFGB @ 0x4F2; /* port 2 configuration b */
|
||||
static unsigned char P3CFGB @ 0x4F3; /* port 3 configuration b */
|
||||
|
||||
/* Addressable Bits */
|
||||
static bit ZERO @ 0x200; /* */
|
||||
static bit NEGATIVE @ 0x201; /* */
|
||||
static bit OVERFLOW @ 0x202; /* */
|
||||
static bit AC @ 0x206; /* */
|
||||
static bit CARRY @ 0x207; /* */
|
||||
static bit IM0 @ 0x208; /* */
|
||||
static bit IM1 @ 0x209; /* */
|
||||
static bit IM2 @ 0x20A; /* */
|
||||
static bit IM3 @ 0x20B; /* */
|
||||
static bit RS0 @ 0x20C; /* */
|
||||
static bit RS1 @ 0x20D; /* */
|
||||
static bit TM @ 0x20E; /* */
|
||||
static bit SM @ 0x20F; /* */
|
||||
static bit P_51 @ 0x210; /* */
|
||||
static bit F1_51 @ 0x211; /* */
|
||||
static bit V_51 @ 0x212; /* */
|
||||
static bit RS0_51 @ 0x213; /* */
|
||||
static bit RS1_51 @ 0x214; /* */
|
||||
static bit F0_51 @ 0x215; /* */
|
||||
static bit AC_51 @ 0x216; /* */
|
||||
static bit C_51 @ 0x217; /* */
|
||||
static bit R0SEG @ 0x218; /* */
|
||||
static bit R1SEG @ 0x219; /* */
|
||||
static bit R2SEG @ 0x21A; /* */
|
||||
static bit R3SEG @ 0x21B; /* */
|
||||
static bit R4SEG @ 0x21C; /* */
|
||||
static bit R5SEG @ 0x21D; /* */
|
||||
static bit R6SEG @ 0x21E; /* */
|
||||
static bit ESWEN @ 0x21F; /* */
|
||||
static bit IDL @ 0x220; /* */
|
||||
static bit PD @ 0x221; /* */
|
||||
static bit IT0 @ 0x280; /* */
|
||||
static bit IE0 @ 0x281; /* */
|
||||
static bit IT1 @ 0x282; /* */
|
||||
static bit IE1 @ 0x283; /* */
|
||||
static bit TR0 @ 0x284; /* */
|
||||
static bit TF0 @ 0x285; /* */
|
||||
static bit TR1 @ 0x286; /* */
|
||||
static bit TF1 @ 0x287; /* */
|
||||
static bit T0OE @ 0x288; /* */
|
||||
static bit T1OE @ 0x28A; /* */
|
||||
static bit DCEN @ 0x2C8; /* */
|
||||
static bit T2OE @ 0x2C9; /* */
|
||||
static bit WDTOF @ 0x2F9; /* */
|
||||
static bit WDRUN @ 0x2FA; /* */
|
||||
static bit PRE0 @ 0x2FD; /* */
|
||||
static bit PRE1 @ 0x2FE; /* */
|
||||
static bit PRE2 @ 0x2FF; /* */
|
||||
static bit RI_0 @ 0x300; /* */
|
||||
static bit TI_0 @ 0x301; /* */
|
||||
static bit RB8_0 @ 0x302; /* */
|
||||
static bit TB8_0 @ 0x303; /* */
|
||||
static bit REN_0 @ 0x304; /* */
|
||||
static bit SM2_0 @ 0x305; /* */
|
||||
static bit SM1_0 @ 0x306; /* */
|
||||
static bit SM0_0 @ 0x307; /* */
|
||||
static bit STINT0 @ 0x308; /* */
|
||||
static bit OE0 @ 0x309; /* */
|
||||
static bit BR0 @ 0x30A; /* */
|
||||
static bit FE0 @ 0x30B; /* */
|
||||
static bit EX0 @ 0x330; /* */
|
||||
static bit ET0 @ 0x331; /* */
|
||||
static bit EX1 @ 0x332; /* */
|
||||
static bit ET1 @ 0x333; /* */
|
||||
static bit ET2 @ 0x334; /* */
|
||||
static bit EBUFF @ 0x335; /* */
|
||||
static bit EA @ 0x337; /* */
|
||||
static bit ERIO @ 0x338; /* */
|
||||
static bit ETIO @ 0x339; /* */
|
||||
static bit ESPI @ 0x33B; /* */
|
||||
static bit ECER @ 0x33C; /* */
|
||||
static bit EMER @ 0x33D; /* */
|
||||
static bit EMTI @ 0x33E; /* */
|
||||
static bit EMRI @ 0x33F; /* */
|
||||
static bit SWR1 @ 0x350; /* */
|
||||
static bit SWR2 @ 0x351; /* */
|
||||
static bit SWR3 @ 0x352; /* */
|
||||
static bit SWR4 @ 0x353; /* */
|
||||
static bit SWR5 @ 0x354; /* */
|
||||
static bit SWR6 @ 0x355; /* */
|
||||
static bit SWR7 @ 0x356; /* */
|
||||
static bit A4D0 @ 0x380; /* */
|
||||
static bit A5D1 @ 0x381; /* */
|
||||
static bit A6D2 @ 0x382; /* */
|
||||
static bit A7D3 @ 0x383; /* */
|
||||
static bit A8D4 @ 0x384; /* */
|
||||
static bit A9D5 @ 0x385; /* */
|
||||
static bit A10D6 @ 0x386; /* */
|
||||
static bit A11D7 @ 0x387; /* */
|
||||
static bit WRH @ 0x388; /* */
|
||||
static bit A1 @ 0x389; /* */
|
||||
static bit A2 @ 0x38A; /* */
|
||||
static bit A3 @ 0x38B; /* */
|
||||
static bit SPIRX @ 0x38C; /* */
|
||||
static bit SPITX @ 0x38D; /* */
|
||||
static bit SPICLK @ 0x38E; /* */
|
||||
/* alternate function */
|
||||
static bit T2 @ 0x38E; /* */
|
||||
static bit T2EX @ 0x38F; /* */
|
||||
static bit A12D8 @ 0x390; /* */
|
||||
static bit A13D9 @ 0x391; /* */
|
||||
static bit A14D10 @ 0x392; /* */
|
||||
static bit A15D11 @ 0x393; /* */
|
||||
static bit A16D12 @ 0x394; /* */
|
||||
static bit A17D13 @ 0x395; /* */
|
||||
static bit A18D14 @ 0x396; /* */
|
||||
static bit A19D15 @ 0x397; /* */
|
||||
static bit RXD0 @ 0x398; /* */
|
||||
static bit TXD0 @ 0x399; /* */
|
||||
static bit INT0 @ 0x39A; /* */
|
||||
static bit INT1 @ 0x39B; /* */
|
||||
static bit T0 @ 0x39C; /* */
|
||||
static bit T1 @ 0x39D; /* */
|
||||
static bit WRL @ 0x39E; /* */
|
||||
static bit RD @ 0x39F; /* */
|
||||
|
||||
/* Interrupt Vectors */
|
||||
|
||||
/* Exception interrupt vectors */
|
||||
#define IV_RESET 0x0000 /* Reset */
|
||||
#define IV_BKPNT 0x0004 /* Breakpoint */
|
||||
#define IV_TRACE 0x0008 /* Trace */
|
||||
#define IV_STKOVER 0x000C /* Stack overflow */
|
||||
#define IV_DIVZERO 0x0010 /* Divide by zero */
|
||||
#define IV_RETI 0x0014 /* User RETI */
|
||||
|
||||
/* Trap interrupt vectors */
|
||||
#define IV_TRI0 0x40 /* Software trap 0 */
|
||||
#define IV_TRI1 0x44 /* Software trap 1 */
|
||||
#define IV_TRI2 0x48 /* Software trap 2 */
|
||||
#define IV_TRI3 0x4C /* Software trap 3 */
|
||||
#define IV_TRI4 0x50 /* Software trap 4 */
|
||||
#define IV_TRI5 0x54 /* Software trap 5 */
|
||||
#define IV_TRI6 0x58 /* Software trap 6 */
|
||||
#define IV_TRI7 0x5C /* Software trap 7 */
|
||||
#define IV_TRI8 0x60 /* Software trap 8 */
|
||||
#define IV_TRI9 0x64 /* Software trap 9 */
|
||||
#define IV_TRI10 0x68 /* Software trap 10 */
|
||||
#define IV_TRI11 0x6C /* Software trap 11 */
|
||||
#define IV_TRI12 0x70 /* Software trap 12 */
|
||||
#define IV_TRI13 0x74 /* Software trap 13 */
|
||||
#define IV_TRI14 0x78 /* Software trap 14 */
|
||||
#define IV_TRI15 0x7C /* Software trap 15 */
|
||||
|
||||
/* Event interrupt vectors */
|
||||
#define IV_EX0 0x80 /* External interrupt 0 */
|
||||
#define IV_T0 0x84 /* Timer 0 interrupt */
|
||||
#define IV_EX1 0x88 /* External interrupt 1 */
|
||||
#define IV_T1 0x8C /* timer 1 interrupt */
|
||||
#define IV_T2 0x90 /* timer 2 interrupt */
|
||||
#define IV_RXFULL 0x94 /* (CAN) Rx buffer full */
|
||||
#define IV_RI0 0xA0 /* Serial port 0 Rx */
|
||||
#define IV_TI0 0xA4 /* Serial port 0 Tx */
|
||||
#define IV_SPI 0xAC /* SPI interrupt */
|
||||
#define IV_FERR 0xB0 /* (CAN) Frame error */
|
||||
#define IV_MERR 0xB4 /* (CAN) Message error */
|
||||
#define IV_TXDONE 0xB8 /* Tx message complete */
|
||||
#define IV_RXDONE 0xBC /* Rx message complete */
|
||||
|
||||
/* Software interrupt vectors */
|
||||
#define IV_SWI1 0x100 /* Software interrupt 1 */
|
||||
#define IV_SWI2 0x104 /* Software interrupt 2 */
|
||||
#define IV_SWI3 0x108 /* Software interrupt 3 */
|
||||
#define IV_SWI4 0x10C /* Software interrupt 4 */
|
||||
#define IV_SWI5 0x110 /* Software interrupt 5 */
|
||||
#define IV_SWI6 0x114 /* Software interrupt 6 */
|
||||
#define IV_SWI7 0x118 /* Software interrupt 7 */
|
||||
|
||||
/* PSW Values for interrupt vectors */
|
||||
|
||||
#define IV_PSW 0x8F00 /* System mode, high priority, bank 0 */
|
||||
|
||||
#define IV_SYSTEM 0x8000
|
||||
|
||||
#define IV_PRI00 0x0000 /* priorities 0 - 15 */
|
||||
#define IV_PRI01 0x0100
|
||||
#define IV_PRI02 0x0200
|
||||
#define IV_PRI03 0x0300
|
||||
#define IV_PRI04 0x0400
|
||||
#define IV_PRI05 0x0500
|
||||
#define IV_PRI06 0x0600
|
||||
#define IV_PRI07 0x0700
|
||||
#define IV_PRI08 0x0800
|
||||
#define IV_PRI09 0x0900
|
||||
#define IV_PRI10 0x0A00
|
||||
#define IV_PRI11 0x0B00
|
||||
#define IV_PRI12 0x0C00
|
||||
#define IV_PRI13 0x0D00
|
||||
#define IV_PRI14 0x0E00
|
||||
#define IV_PRI15 0x0F00
|
||||
|
||||
#define IV_BANK0 0x0000
|
||||
#define IV_BANK1 0x1000
|
||||
#define IV_BANK2 0x2000
|
||||
#define IV_BANK3 0x3000
|
||||
|
||||
#endif /* __xa_h__ */
|
||||
|
||||
247
compilers/HT-XA/INCLUDE/xa-g3.h
Normal file
247
compilers/HT-XA/INCLUDE/xa-g3.h
Normal file
@@ -0,0 +1,247 @@
|
||||
/*
|
||||
* XA G3 SFR definitions
|
||||
* Extracted directly from Philips documentation
|
||||
*/
|
||||
|
||||
#ifndef __xa_h__
|
||||
#define __xa_h__
|
||||
|
||||
extern unsigned int __trap(unsigned char, ...);
|
||||
#pragma inline(__trap)
|
||||
|
||||
static unsigned short PSW @ 0x400; /* Program status word */
|
||||
static unsigned char PSWL @ 0x400; /* Program status word (low byte) */
|
||||
static unsigned char PSWH @ 0x401; /* Program status word (high byte) */
|
||||
static unsigned char PSW51 @ 0x402; /* 80C51 compatible PSW */
|
||||
static unsigned char SSEL @ 0x403; /* Segment selection register */
|
||||
static unsigned char PCON @ 0x404; /* Power control register */
|
||||
static unsigned char TCON @ 0x410; /* Timer 0 and 1 control register */
|
||||
static unsigned char TSTAT @ 0x411; /* Timer 0 and 1 extended status */
|
||||
static unsigned char T2CON @ 0x418; /* Timer 2 control register */
|
||||
static unsigned char T2MOD @ 0x419; /* Timer 2 mode control */
|
||||
static unsigned char WDCON @ 0x41F; /* Watchdog control register */
|
||||
static unsigned char S0CON @ 0x420; /* Serial port 0 control register */
|
||||
static unsigned char S0STAT @ 0x421; /* Serial port 0 extended status */
|
||||
static unsigned char S1CON @ 0x424; /* Serial port 1 control register */
|
||||
static unsigned char S1STAT @ 0x425; /* Serial port 1 extended status */
|
||||
static unsigned char IEL @ 0x426; /* Interrupt enable low byte */
|
||||
static unsigned char IEH @ 0x427; /* Interrupt enable high byte */
|
||||
static unsigned char SWR @ 0x42A; /* Software Interrupt Request */
|
||||
static unsigned char P0 @ 0x430; /* Port 0 */
|
||||
static unsigned char P1 @ 0x431; /* Port 1 */
|
||||
static unsigned char P2 @ 0x432; /* Port 2 */
|
||||
static unsigned char P3 @ 0x433; /* Port3 */
|
||||
static unsigned char SCR @ 0x440; /* System configuration register */
|
||||
static unsigned char DS @ 0x441; /* Data segment */
|
||||
static unsigned char ES @ 0x442; /* Extra segment */
|
||||
static unsigned char CS @ 0x443; /* Code segment */
|
||||
static unsigned char TL0 @ 0x450; /* Timer 0 low byte */
|
||||
static unsigned char TH0 @ 0x451; /* Timer 0 high byte */
|
||||
static unsigned char TL1 @ 0x452; /* Timer 1 low byte */
|
||||
static unsigned char TH1 @ 0x453; /* Timer 1 high byte */
|
||||
static unsigned char RTL0 @ 0x454; /* Timer 0 extended reload, low byte */
|
||||
static unsigned char RTH0 @ 0x455; /* Timer 0 extended reload, high byte */
|
||||
static unsigned char RTL1 @ 0x456; /* Timer 1 extended reload, low byte */
|
||||
static unsigned char RTH1 @ 0x457; /* Timer 1 extended reload, high byte */
|
||||
static unsigned char TL2 @ 0x458; /* Timer 2 low byte */
|
||||
static unsigned char TH2 @ 0x459; /* Timer 2 high byte */
|
||||
static unsigned char T2CAPL @ 0x45A; /* Timer 2 capture register, low byte */
|
||||
static unsigned char T2CAPH @ 0x45B; /* Timer 2 capture register, high byte */
|
||||
static unsigned char TMOD @ 0x45C; /* Timer 0 and 1 mode register */
|
||||
static unsigned char WFEED1 @ 0x45D; /* Watchdog feed 1 */
|
||||
static unsigned char WFEED2 @ 0x45E; /* Watchdog feed 2 */
|
||||
static unsigned char WDL @ 0x45F; /* Watchdog timer reload */
|
||||
static unsigned char S0BUF @ 0x460; /* Serial port 0 buffer register */
|
||||
static unsigned char S0ADDR @ 0x461; /* Serial port 0 address register */
|
||||
static unsigned char S0ADEN @ 0x462; /* Serial port 0 address enable register */
|
||||
static unsigned char S1BUF @ 0x464; /* Serial port 1 buffer register */
|
||||
static unsigned char S1ADDR @ 0x465; /* Serial port 1 address register */
|
||||
static unsigned char S1ADEN @ 0x466; /* Serial port 1 address enable register */
|
||||
static unsigned char BTRL @ 0x468; /* Bus timing register high byte */
|
||||
static unsigned char BTRH @ 0x469; /* Bus timing register low byte */
|
||||
static unsigned char BCR @ 0x46A; /* Bus configuration register */
|
||||
static unsigned char P0CFGA @ 0x470; /* Port 0 configuration A */
|
||||
static unsigned char P1CFGA @ 0x471; /* Port 1 configuration A */
|
||||
static unsigned char P2CFGA @ 0x472; /* Port 2 configuration A */
|
||||
static unsigned char P3CFGA @ 0x473; /* Port 3 configuration A */
|
||||
static unsigned char SWE @ 0x47A; /* Software Interrupt Enable */
|
||||
static unsigned char IPA0 @ 0x4A0; /* Interrupt priority 0 */
|
||||
static unsigned char IPA1 @ 0x4A1; /* Interrupt priority 1 */
|
||||
static unsigned char IPA2 @ 0x4A2; /* Interrupt priority 2 */
|
||||
static unsigned char IPA4 @ 0x4A4; /* Interrupt priority 4 */
|
||||
static unsigned char IPA5 @ 0x4A5; /* Interrupt priority 5 */
|
||||
static unsigned char P0CFGB @ 0x4F0; /* Port 0 configuration B */
|
||||
static unsigned char P1CFGB @ 0x4F1; /* Port 1 configuration B */
|
||||
static unsigned char P2CFGB @ 0x4F2; /* Port 2 configuration B */
|
||||
static unsigned char P3CFGB @ 0x4F3; /* Port 3 configuration B */
|
||||
|
||||
static bit ETI1 @ 0x33B; /* TX interrupt enable 1 */
|
||||
static bit ERI1 @ 0x33A; /* RX interrupt enable 1 */
|
||||
static bit ETI0 @ 0x339; /* TX interrupt enable 0 */
|
||||
static bit ERI0 @ 0x338; /* RX interrupt enable 0 */
|
||||
static bit EA @ 0x337; /* global int. enable */
|
||||
static bit ET2 @ 0x334; /* timer 2 interrupt */
|
||||
static bit ET1 @ 0x333; /* timer 1 interrupt */
|
||||
static bit EX1 @ 0x332; /* external interrupt 1 */
|
||||
static bit ET0 @ 0x331; /* timer 0 interrupt */
|
||||
static bit EX0 @ 0x330; /* external interrupt 0 */
|
||||
static bit PD @ 0x221; /* power down */
|
||||
static bit IDL @ 0x220;
|
||||
static bit SM @ 0x20F;
|
||||
static bit TM @ 0x20E;
|
||||
static bit RS1 @ 0x20D;
|
||||
static bit RS0 @ 0x20C;
|
||||
static bit IM3 @ 0x20B;
|
||||
static bit IM2 @ 0x20A;
|
||||
static bit IM1 @ 0x209;
|
||||
static bit IM0 @ 0x208;
|
||||
static bit S0M0 @ 0x307;
|
||||
static bit S0M1 @ 0x306;
|
||||
static bit S0M2 @ 0x305;
|
||||
static bit R0EN @ 0x304;
|
||||
static bit T0B8 @ 0x303;
|
||||
static bit R0B8 @ 0x302;
|
||||
static bit TI0 @ 0x301; /* serial port 0 tx ready */
|
||||
static bit RI0 @ 0x300; /* serial port 0 rx ready */
|
||||
static bit FE0 @ 0x30B;
|
||||
static bit BR0 @ 0x30A;
|
||||
static bit OE0 @ 0x309;
|
||||
static bit STINT0 @ 0x308;
|
||||
static bit S1M0 @ 0x327;
|
||||
static bit S1M1 @ 0x326;
|
||||
static bit S1M2 @ 0x325;
|
||||
static bit R1EN @ 0x324;
|
||||
static bit T1B8 @ 0x323;
|
||||
static bit R1B8 @ 0x322;
|
||||
static bit TI1 @ 0x321; /* serial port 0 tx ready */
|
||||
static bit RI1 @ 0x320; /* serial port 0 rx ready */
|
||||
static bit FE1 @ 0x32B;
|
||||
static bit BR1 @ 0x32A;
|
||||
static bit OE1 @ 0x329;
|
||||
static bit STINT1 @ 0x328;
|
||||
static bit SWR7 @ 0x356;
|
||||
static bit SWR6 @ 0x355;
|
||||
static bit SWR5 @ 0x354;
|
||||
static bit SWR4 @ 0x353;
|
||||
static bit SWR3 @ 0x352;
|
||||
static bit SWR2 @ 0x351;
|
||||
static bit SWR1 @ 0x350;
|
||||
static bit TF2 @ 0x2C7;
|
||||
static bit EXF2 @ 0x2C6;
|
||||
static bit RCLK0 @ 0x2C5;
|
||||
static bit TCLK0 @ 0x2C4;
|
||||
static bit RCLK1 @ 0x2CD;
|
||||
static bit TCLK1 @ 0x2CC;
|
||||
static bit EXEN2 @ 0x2C3;
|
||||
static bit TR2 @ 0x2C2;
|
||||
static bit CT2 @ 0x2C1;
|
||||
static bit CPRL2 @ 0x2C0;
|
||||
static bit T2OE @ 0x2C9;
|
||||
static bit DCEN @ 0x2C8;
|
||||
static bit TF1 @ 0x287;
|
||||
static bit TR1 @ 0x286;
|
||||
static bit TF0 @ 0x285;
|
||||
static bit TR0 @ 0x284;
|
||||
static bit IE1 @ 0x283;
|
||||
static bit IT1 @ 0x282;
|
||||
static bit IE0 @ 0x281;
|
||||
static bit IT0 @ 0x280;
|
||||
|
||||
static bit T1OE @ 0x28A;
|
||||
static bit T0OE @ 0x288;
|
||||
static bit PRE2 @ 0x2FF;
|
||||
static bit PRE1 @ 0x2FE;
|
||||
static bit PRE0 @ 0x2FD;
|
||||
static bit WDRUN @ 0x2FA;
|
||||
static bit WDTOF @ 0x2F9;
|
||||
static bit WDMOD @ 0x2F8;
|
||||
|
||||
static bit WR1 @ 0x388;
|
||||
static bit RXD1 @ 0x38C;
|
||||
static bit TXD1 @ 0x38D;
|
||||
static bit T2 @ 0x38E;
|
||||
static bit T2EX @ 0x38F;
|
||||
static bit RXD0 @ 0x398;
|
||||
static bit TXD0 @ 0x399;
|
||||
static bit INT0 @ 0x39A;
|
||||
static bit INT1 @ 0x39B;
|
||||
static bit T0 @ 0x39C;
|
||||
static bit T1 @ 0x39D;
|
||||
static bit WR @ 0x39E;
|
||||
static bit RD @ 0x39F;
|
||||
|
||||
/*
|
||||
* Interrupt-related
|
||||
*/
|
||||
|
||||
|
||||
/* Vectors */
|
||||
/* Exception vectors. */
|
||||
#define IV_BRKPT 0x04 /* breakpoint vector */
|
||||
#define IV_TRACE 0x08 /* Trace mode bit set */
|
||||
#define IV_STKOVER 0x0C /* stack overflow */
|
||||
#define IV_DIVZERO 0x10 /* divide by zero */
|
||||
#define IV_IRET 0x14 /* user mode IRET */
|
||||
|
||||
#define IV_TRI0 0x40 /* Trap interrupt vectors. */
|
||||
#define IV_TRI1 0x44
|
||||
#define IV_TRI2 0x48
|
||||
#define IV_TRI3 0x4C
|
||||
#define IV_TRI4 0x50
|
||||
#define IV_TRI5 0x54
|
||||
#define IV_TRI6 0x58
|
||||
#define IV_TRI7 0x5C
|
||||
#define IV_TRI8 0x60
|
||||
#define IV_TRI9 0x64
|
||||
#define IV_TRI10 0x68
|
||||
#define IV_TRI11 0x6C
|
||||
#define IV_TRI12 0x70
|
||||
#define IV_TRI13 0x74
|
||||
#define IV_TRI14 0x78
|
||||
#define IV_TRI15 0x7C
|
||||
#define IV_EX0 0x80 /* Event interrupt vectors. */
|
||||
#define IV_T0 0x84
|
||||
#define IV_EX1 0x88
|
||||
#define IV_T1 0x8C
|
||||
#define IV_T2 0x90
|
||||
#define IV_RI0 0xA0
|
||||
#define IV_TI0 0xA4
|
||||
#define IV_RI1 0xA8
|
||||
#define IV_TI1 0xAC
|
||||
#define IV_SWI1 0x100 /* Software interrupt vectorss */
|
||||
#define IV_SWI2 0x104
|
||||
#define IV_SWI3 0x108
|
||||
#define IV_SWI4 0x10C
|
||||
#define IV_SWI5 0x110
|
||||
#define IV_SWI6 0x114
|
||||
#define IV_SWI7 0x118
|
||||
|
||||
/* PSW Values for interrupt vectors */
|
||||
|
||||
#define IV_PSW 0x8F00 /* System mode, high priority, bank 0 */
|
||||
|
||||
#define IV_SYSTEM 0x8000
|
||||
|
||||
#define IV_PRI00 0x0000 /* priorities 0 - 15 */
|
||||
#define IV_PRI01 0x0100
|
||||
#define IV_PRI02 0x0200
|
||||
#define IV_PRI03 0x0300
|
||||
#define IV_PRI04 0x0400
|
||||
#define IV_PRI05 0x0500
|
||||
#define IV_PRI06 0x0600
|
||||
#define IV_PRI07 0x0700
|
||||
#define IV_PRI08 0x0800
|
||||
#define IV_PRI09 0x0900
|
||||
#define IV_PRI10 0x0A00
|
||||
#define IV_PRI11 0x0B00
|
||||
#define IV_PRI12 0x0C00
|
||||
#define IV_PRI13 0x0D00
|
||||
#define IV_PRI14 0x0E00
|
||||
#define IV_PRI15 0x0F00
|
||||
|
||||
#define IV_BANK0 0x0000
|
||||
#define IV_BANK1 0x1000
|
||||
#define IV_BANK2 0x2000
|
||||
#define IV_BANK3 0x3000
|
||||
|
||||
#endif /* __xa_h__ */
|
||||
404
compilers/HT-XA/INCLUDE/xa-s3.h
Normal file
404
compilers/HT-XA/INCLUDE/xa-s3.h
Normal file
@@ -0,0 +1,404 @@
|
||||
/*** XA-S3 SFR definitions for HiTech compiler ***/
|
||||
|
||||
#define __xa_h__
|
||||
|
||||
extern unsigned int __trap(unsigned char, ...);
|
||||
#pragma inline(__trap)
|
||||
|
||||
static unsigned char PSWL @ 0x400; /* Program status word (low byte) */
|
||||
static unsigned char PSWH @ 0x401; /* Program status word (high byte) */
|
||||
static unsigned char PSW51 @ 0x402; /* 80C51 compatible PSW */
|
||||
static unsigned char SSEL @ 0x403; /* Segment selection register */
|
||||
static unsigned char PCON @ 0x404; /* Power control register */
|
||||
static unsigned char TCON @ 0x410; /* Timer 0 and 1 control register */
|
||||
static unsigned char TSTAT @ 0x411; /* Timer 0 and 1 extended status */
|
||||
static unsigned char T2CON @ 0x418; /* Timer 2 control register */
|
||||
static unsigned char T2MOD @ 0x419; /* Timer 2 mode control */
|
||||
static unsigned char CCON @ 0x41A; /* PCA counter control */
|
||||
static unsigned char WDCON @ 0x41F; /* Watchdog control register */
|
||||
static unsigned char S0CON @ 0x420; /* Serial port 0 control register */
|
||||
static unsigned char S0STAT @ 0x421; /* Serial port 0 extended status */
|
||||
static unsigned char S1CON @ 0x424; /* Serial port 1 control register */
|
||||
static unsigned char S1STAT @ 0x425; /* Serial port 1 extended status */
|
||||
static unsigned char IEL @ 0x426; /* Interrupt enable low byte */
|
||||
static unsigned char IEH @ 0x427; /* Interrupt enable high byte */
|
||||
static unsigned char SWR @ 0x42A; /* Software Interrupt Request */
|
||||
static unsigned char I2CON @ 0x42C; /* I2C control register */
|
||||
static unsigned char IELB @ 0x42E; /* Int. enable extension low byte */
|
||||
static unsigned char P0 @ 0x430; /* Port 0 */
|
||||
static unsigned char P1 @ 0x431; /* Port 1 */
|
||||
static unsigned char P2 @ 0x432; /* Port 2 */
|
||||
static unsigned char P3 @ 0x433; /* Port 3 */
|
||||
static unsigned char P4 @ 0x434; /* Port 4 */
|
||||
static unsigned char P5 @ 0x435; /* Port 5 */
|
||||
static unsigned char P6 @ 0x436; /* Port 6 */
|
||||
static unsigned char ADCON @ 0x43E; /* A/D control register */
|
||||
static unsigned char ADCS @ 0x43F; /* A/D channel select register */
|
||||
static unsigned char SCR @ 0x440; /* System configuration register */
|
||||
static unsigned char DS @ 0x441; /* Data segment */
|
||||
static unsigned char ES @ 0x442; /* Extra segment */
|
||||
static unsigned char CS @ 0x443; /* Code segment */
|
||||
static unsigned char TL0 @ 0x450; /* Timer 0 low byte */
|
||||
static unsigned char TH0 @ 0x451; /* Timer 0 high byte */
|
||||
static unsigned char TL1 @ 0x452; /* Timer 1 low byte */
|
||||
static unsigned char TH1 @ 0x453; /* Timer 1 high byte */
|
||||
static unsigned char RTL0 @ 0x454; /* Timer 0 reload, low byte */
|
||||
static unsigned char RTH0 @ 0x455; /* Timer 0 reload, high byte */
|
||||
static unsigned char RTL1 @ 0x456; /* Timer 1 reload, low byte */
|
||||
static unsigned char RTH1 @ 0x457; /* Timer 1 reload, high byte */
|
||||
static unsigned char TL2 @ 0x458; /* Timer 2 low byte */
|
||||
static unsigned char TH2 @ 0x459; /* Timer 2 high byte */
|
||||
static unsigned char T2CAPL @ 0x45A; /* Timer 2 capture reg, low byte */
|
||||
static unsigned char T2CAPH @ 0x45B; /* Timer 2 capture reg, high byte */
|
||||
static unsigned char TMOD @ 0x45C; /* Timer 0 and 1 mode control */
|
||||
static unsigned char WFEED1 @ 0x45D; /* Watchdog feed 1 */
|
||||
static unsigned char WFEED2 @ 0x45E; /* Watchdog feed 2 */
|
||||
static unsigned char WDL @ 0x45F; /* Watchdog timer reload */
|
||||
static unsigned char S0BUF @ 0x460; /* uart 0 buffer register */
|
||||
static unsigned char S0ADDR @ 0x461; /* uart 0 address register */
|
||||
static unsigned char S0ADEN @ 0x462; /* uart 0 address enable register */
|
||||
static unsigned char RSTSRC @ 0x463; /* Reset source register */
|
||||
static unsigned char S1BUF @ 0x464; /* uart 1 buffer register */
|
||||
static unsigned char S1ADDR @ 0x465; /* uart 1 address register */
|
||||
static unsigned char S1ADEN @ 0x466; /* uart 1 address enable register */
|
||||
static unsigned char BTRL @ 0x468; /* Bus timing register low byte */
|
||||
static unsigned char BTRH @ 0x469; /* Bus timing register high byte */
|
||||
static unsigned char BCR @ 0x46A; /* Bus configuration register */
|
||||
static unsigned char I2STAT @ 0x46C; /* I2C status register */
|
||||
static unsigned char I2DAT @ 0x46D; /* I2C data register */
|
||||
static unsigned char I2ADDR @ 0x46E; /* I2C address register */
|
||||
static unsigned char P0CFGA @ 0x470; /* Port 0 configuration A */
|
||||
static unsigned char P1CFGA @ 0x471; /* Port 1 configuration A */
|
||||
static unsigned char P2CFGA @ 0x472; /* Port 2 configuration A */
|
||||
static unsigned char P3CFGA @ 0x473; /* Port 3 configuration A */
|
||||
static unsigned char P4CFGA @ 0x474; /* Port 4 configuration A */
|
||||
static unsigned char P5CFGA @ 0x475; /* Port 5 configuration A */
|
||||
static unsigned char P6CFGA @ 0x476; /* Port 6 configuration A */
|
||||
static unsigned char SWE @ 0x47A; /* Software Interrupt Enable */
|
||||
static unsigned char CL @ 0x48A; /* PCA counter low byte */
|
||||
static unsigned char CH @ 0x48B; /* PCA counter high byte */
|
||||
static unsigned char CMOD @ 0x490; /* PCA mode control */
|
||||
static unsigned char CCAPM0 @ 0x491; /* PCA module 0 mode */
|
||||
static unsigned char CCAPM1 @ 0x492; /* PCA module 1 mode */
|
||||
static unsigned char CCAPM2 @ 0x493; /* PCA module 2 mode */
|
||||
static unsigned char CCAPM3 @ 0x494; /* PCA module 3 mode */
|
||||
static unsigned char CCAPM4 @ 0x495; /* PCA module 4 mode */
|
||||
static unsigned char CCAP0L @ 0x496; /* PCA module 0 capture low byte */
|
||||
static unsigned char CCAP0H @ 0x497; /* PCA module 0 capture high byte */
|
||||
static unsigned char CCAP1L @ 0x498; /* PCA module 1 capture low byte */
|
||||
static unsigned char CCAP1H @ 0x499; /* PCA module 1 capture high byte */
|
||||
static unsigned char CCAP2L @ 0x49A; /* PCA module 2 capture low byte */
|
||||
static unsigned char CCAP2H @ 0x49B; /* PCA module 2 capture high byte */
|
||||
static unsigned char CCAP3L @ 0x49C; /* PCA module 3 capture low byte */
|
||||
static unsigned char CCAP3H @ 0x49D; /* PCA module 3 capture high byte */
|
||||
static unsigned char CCAP4L @ 0x49E; /* PCA module 4 capture low byte */
|
||||
static unsigned char CCAP4H @ 0x49F; /* PCA module 4 capture high byte */
|
||||
static unsigned char IPA0 @ 0x4A0; /* Interrupt priority A0 */
|
||||
static unsigned char IPA1 @ 0x4A1; /* Interrupt priority A1 */
|
||||
static unsigned char IPA2 @ 0x4A2; /* Interrupt priority A2 */
|
||||
static unsigned char IPA3 @ 0x4A3; /* Interrupt priority A3 */
|
||||
static unsigned char IPA4 @ 0x4A4; /* Interrupt priority A4 */
|
||||
static unsigned char IPA5 @ 0x4A5; /* Interrupt priority A5 */
|
||||
static unsigned char IPB0 @ 0x4A8; /* Interrupt priority B0 */
|
||||
static unsigned char IPB1 @ 0x4A9; /* Interrupt priority B1 */
|
||||
static unsigned char IPB2 @ 0x4AA; /* Interrupt priority B2 */
|
||||
static unsigned char ADRSH0 @ 0x4B0; /* A/D high byte result channel 0 */
|
||||
static unsigned char ADRSH1 @ 0x4B1; /* A/D high byte result channel 1 */
|
||||
static unsigned char ADRSH2 @ 0x4B2; /* A/D high byte result channel 2 */
|
||||
static unsigned char ADRSH3 @ 0x4B3; /* A/D high byte result channel 3 */
|
||||
static unsigned char ADRSH4 @ 0x4B4; /* A/D high byte result channel 4 */
|
||||
static unsigned char ADRSH5 @ 0x4B5; /* A/D high byte result channel 5 */
|
||||
static unsigned char ADRSH6 @ 0x4B6; /* A/D high byte result channel 6 */
|
||||
static unsigned char ADRSH7 @ 0x4B7; /* A/D high byte result channel 7 */
|
||||
static unsigned char ADRSL @ 0x4B8; /* A/D low 2 bits of result */
|
||||
static unsigned char ADCFG @ 0x4B9; /* A/D timing configuration */
|
||||
static unsigned char P0CFGB @ 0x4F0; /* Port 0 configuration B */
|
||||
static unsigned char P1CFGB @ 0x4F1; /* Port 1 configuration B */
|
||||
static unsigned char P2CFGB @ 0x4F2; /* Port 2 configuration B */
|
||||
static unsigned char P3CFGB @ 0x4F3; /* Port 3 configuration B */
|
||||
static unsigned char P4CFGB @ 0x4F4; /* Port 4 configuration B */
|
||||
static unsigned char P5CFGB @ 0x4F5; /* Port 5 configuration B */
|
||||
static unsigned char P6CFGB @ 0x4F6; /* Port 6 configuration B */
|
||||
|
||||
|
||||
static bit Z @ 0x200; /* PSW bits */
|
||||
static bit N @ 0x201;
|
||||
static bit V @ 0x202;
|
||||
static bit AC @ 0x206;
|
||||
static bit C @ 0x207;
|
||||
static bit IM0 @ 0x208;
|
||||
static bit IM1 @ 0x209;
|
||||
static bit IM2 @ 0x20A;
|
||||
static bit IM3 @ 0x20B;
|
||||
static bit RS0 @ 0x20C;
|
||||
static bit RS1 @ 0x20D;
|
||||
static bit TM @ 0x20E;
|
||||
static bit SM @ 0x20F;
|
||||
static bit P @ 0x210;
|
||||
static bit F1 @ 0x211;
|
||||
static bit F0 @ 0x215;
|
||||
|
||||
static bit R0SEG @ 0x218; /* SSEL bits */
|
||||
static bit R1SEG @ 0x219;
|
||||
static bit R2SEG @ 0x21A;
|
||||
static bit R3SEG @ 0x21B;
|
||||
static bit R4SEG @ 0x21C;
|
||||
static bit R5SEG @ 0x21D;
|
||||
static bit R6SEG @ 0x21E;
|
||||
static bit ESWEN @ 0x21F;
|
||||
|
||||
static bit IDL @ 0x220; /* idle mode */
|
||||
static bit PD @ 0x221; /* power down */
|
||||
|
||||
static bit IT0 @ 0x280; /* Interrupt 0 level or edge select */
|
||||
static bit IE0 @ 0x281; /* Interrupt 0 flag */
|
||||
static bit IT1 @ 0x282; /* Interrupt 1 level or edge select */
|
||||
static bit IE1 @ 0x283; /* Interrupt 1 flag */
|
||||
static bit TR0 @ 0x284; /* Timer 0 run control */
|
||||
static bit TF0 @ 0x285; /* Timer 0 overflow flag */
|
||||
static bit TR1 @ 0x286; /* Timer 1 run control */
|
||||
static bit TF1 @ 0x287; /* Timer 1 overflow flag */
|
||||
static bit T0OE @ 0x288; /* T0 pin control */
|
||||
static bit T1OE @ 0x28A; /* T1 pin control */
|
||||
|
||||
static bit CPRL2 @ 0x2C0; /* Timer 2 capture/reload flag */
|
||||
static bit CT2 @ 0x2C1; /* Timer 2 timer/counter select */
|
||||
static bit TR2 @ 0x2C2; /* Timer 2 run control */
|
||||
static bit EXEN2 @ 0x2C3; /* Timer 2 external enable bit */
|
||||
static bit TCLK0 @ 0x2C4; /* Timer 2 transmit clock flag */
|
||||
static bit RCLK0 @ 0x2C5; /* Timer 2 receive clock flag */
|
||||
static bit EXF2 @ 0x2C6; /* Timer 2 external flag */
|
||||
static bit TF2 @ 0x2C7; /* Timer 2 overflow flag */
|
||||
static bit DCEN @ 0x2C8; /* Timer 2 count direction control */
|
||||
static bit T2OE @ 0x2C9; /* T2 pin control */
|
||||
static bit TCLK1 @ 0x2CC; /* Transmit clock flag */
|
||||
static bit RCLK1 @ 0x2CD; /* Receive clock flag */
|
||||
|
||||
static bit CCF0 @ 0x2D0; /* PCA channel 0 interrupt flag */
|
||||
static bit CCF1 @ 0x2D1; /* PCA channel 1 interrupt flag */
|
||||
static bit CCF2 @ 0x2D2; /* PCA channel 2 interrupt flag */
|
||||
static bit CCF3 @ 0x2D3; /* PCA channel 3 interrupt flag */
|
||||
static bit CCF4 @ 0x2D4; /* PCA channel 4 interrupt flag */
|
||||
static bit CR @ 0x2D6; /* PCA counter run control bit */
|
||||
static bit CF @ 0x2D7; /* PCA counter overflow flag */
|
||||
|
||||
static bit WDTOF @ 0x2F9; /* watchdog overflow flag */
|
||||
static bit WDRUN @ 0x2FA; /* watchdog run */
|
||||
static bit PRE0 @ 0x2FD; /* watchdog prescaler bit 0 */
|
||||
static bit PRE1 @ 0x2FE; /* watchdog prescaler bit 1 */
|
||||
static bit PRE2 @ 0x2FF; /* watchdog prescaler bit 2 */
|
||||
|
||||
static bit RI_0 @ 0x300; /* UART0 receive interrupt flag */
|
||||
static bit TI_0 @ 0x301; /* UART0 transmit interrupt flag */
|
||||
static bit RB8_0 @ 0x302; /* UART0 mode 2/3 9th received bit */
|
||||
static bit TB8_0 @ 0x303; /* UART0 mode 2/3 9th transmit bit */
|
||||
static bit REN_0 @ 0x304; /* UART0 receive enable */
|
||||
static bit SM2_0 @ 0x305; /* UART0 mode select bit 2 */
|
||||
static bit SM1_0 @ 0x306; /* UART0 mode select bit 1 */
|
||||
static bit SM0_0 @ 0x307; /* UART0 mode select bit 0 */
|
||||
static bit STINT0 @ 0x308; /* UART0 status interrupt enable */
|
||||
static bit OE0 @ 0x309; /* UART0 overrun error flag */
|
||||
static bit BR0 @ 0x30A; /* UART0 break detect flag */
|
||||
static bit FE0 @ 0x30B; /* UART0 framing error flag */
|
||||
static bit ERR0 @ 0x30C;
|
||||
|
||||
static bit RI_1 @ 0x320; /* UART1 receive interrupt flag */
|
||||
static bit TI_1 @ 0x321; /* UART1 transmit interrupt flag */
|
||||
static bit RB8_1 @ 0x322; /* UART1 mode 2/3 9th received bit */
|
||||
static bit TB8_1 @ 0x323; /* UART1 mode 2/3 9th transmit bit */
|
||||
static bit REN_1 @ 0x324; /* UART1 receive enable */
|
||||
static bit SM2_1 @ 0x325; /* UART1 mode select bit 2 */
|
||||
static bit SM1_1 @ 0x326; /* UART1 mode select bit 1 */
|
||||
static bit SM0_1 @ 0x327; /* UART1 mode select bit 0 */
|
||||
static bit STINT1 @ 0x328; /* UART1 status interrupt enable */
|
||||
static bit OE1 @ 0x329; /* UART1 overrun error flag */
|
||||
static bit BR1 @ 0x32A; /* UART1 break detect flag */
|
||||
static bit FE1 @ 0x32B; /* UART1 framing error flag */
|
||||
static bit ERR1 @ 0x32C;
|
||||
|
||||
static bit EX0 @ 0x330; /* enable external interrupt 0 */
|
||||
static bit ET0 @ 0x331; /* enable timer 0 interrupt */
|
||||
static bit EX1 @ 0x332; /* enable external interrupt 1 */
|
||||
static bit ET1 @ 0x333; /* enable timer 1 interrupt */
|
||||
static bit ET2 @ 0x334; /* enable timer 2 interrupt */
|
||||
static bit EPC @ 0x335; /* enable PCA interrupt */
|
||||
static bit EAD @ 0x336; /* enable ADC interrupt */
|
||||
static bit EA @ 0x337; /* global int. enable */
|
||||
static bit ERI0 @ 0x338; /* RX 0 interrupt enable */
|
||||
static bit ETI0 @ 0x339; /* TX 0 interrupt enable */
|
||||
static bit ERI1 @ 0x33A; /* RX 1 interrupt enable */
|
||||
static bit ETI1 @ 0x33B; /* TX 1 interrupt enable */
|
||||
|
||||
static bit SWR1 @ 0x350; /* Software interrupt bits */
|
||||
static bit SWR2 @ 0x351;
|
||||
static bit SWR3 @ 0x352;
|
||||
static bit SWR4 @ 0x353;
|
||||
static bit SWR5 @ 0x354;
|
||||
static bit SWR6 @ 0x355;
|
||||
static bit SWR7 @ 0x356;
|
||||
|
||||
static bit CR0 @ 0x360; /* I2C rate control bit 0 */
|
||||
static bit CR1 @ 0x361; /* I2C rate control bit 1 */
|
||||
static bit AA @ 0x362; /* I2C assert acknowledge */
|
||||
static bit SI @ 0x363; /* I2C serial interrupt flag */
|
||||
static bit STO @ 0x364; /* I2C stop flag */
|
||||
static bit STA @ 0x365; /* I2C start flag */
|
||||
static bit ENA @ 0x366; /* I2C enable */
|
||||
static bit CR2 @ 0x367; /* I2C rate control bit 2 */
|
||||
|
||||
static bit EC0 @ 0x370; /* enable PCA channel 0 interrupt */
|
||||
static bit EC1 @ 0x371; /* enable PCA channel 1 interrupt */
|
||||
static bit EC2 @ 0x372; /* enable PCA channel 2 interrupt */
|
||||
static bit EC3 @ 0x373; /* enable PCA channel 3 interrupt */
|
||||
static bit EC4 @ 0x374; /* enable PCA channel 4 interrupt */
|
||||
static bit EI2 @ 0x375; /* enable I2C interrupt */
|
||||
|
||||
static bit P0_0 @ 0x380; /* Port 0 bits */
|
||||
static bit P0_1 @ 0x381;
|
||||
static bit P0_2 @ 0x382;
|
||||
static bit P0_3 @ 0x383;
|
||||
static bit P0_4 @ 0x384;
|
||||
static bit P0_5 @ 0x385;
|
||||
static bit P0_6 @ 0x386;
|
||||
static bit P0_7 @ 0x387;
|
||||
|
||||
static bit P1_0 @ 0x388; /* Port 1 bits */
|
||||
static bit P1_1 @ 0x389;
|
||||
static bit P1_2 @ 0x38A;
|
||||
static bit P1_3 @ 0x38B;
|
||||
static bit P1_4 @ 0x38C;
|
||||
static bit P1_5 @ 0x38D;
|
||||
static bit P1_6 @ 0x38E;
|
||||
static bit P1_7 @ 0x38F;
|
||||
|
||||
static bit P2_0 @ 0x390; /* Port 2 bits */
|
||||
static bit P2_1 @ 0x391;
|
||||
static bit P2_2 @ 0x392;
|
||||
static bit P2_3 @ 0x393;
|
||||
static bit P2_4 @ 0x394;
|
||||
static bit P2_5 @ 0x395;
|
||||
static bit P2_6 @ 0x396;
|
||||
static bit P2_7 @ 0x397;
|
||||
|
||||
static bit P3_0 @ 0x398; /* Port 3 bits */
|
||||
static bit P3_1 @ 0x399;
|
||||
static bit P3_2 @ 0x39A;
|
||||
static bit P3_3 @ 0x39B;
|
||||
static bit P3_4 @ 0x39C;
|
||||
static bit P3_5 @ 0x39D;
|
||||
static bit P3_6 @ 0x39E;
|
||||
static bit P3_7 @ 0x39F;
|
||||
|
||||
static bit P4_0 @ 0x3A0; /* Port 4 bits */
|
||||
static bit P4_1 @ 0x3A1;
|
||||
static bit P4_2 @ 0x3A2;
|
||||
static bit P4_3 @ 0x3A3;
|
||||
static bit P4_4 @ 0x3A4;
|
||||
static bit P4_5 @ 0x3A5;
|
||||
static bit P4_6 @ 0x3A6;
|
||||
static bit P4_7 @ 0x3A7;
|
||||
|
||||
static bit P5_0 @ 0x3A8; /* Port 5 bits */
|
||||
static bit P5_1 @ 0x3A9;
|
||||
static bit P5_2 @ 0x3AA;
|
||||
static bit P5_3 @ 0x3AB;
|
||||
static bit P5_4 @ 0x3AC;
|
||||
static bit P5_5 @ 0x3AD;
|
||||
static bit P5_6 @ 0x3AE;
|
||||
static bit P5_7 @ 0x3AF;
|
||||
|
||||
static bit P6_0 @ 0x3B0; /* Port 6 bits */
|
||||
static bit P6_1 @ 0x3B1;
|
||||
|
||||
static bit ADINT @ 0x3F0; /* A/D conversion ready interrupt flag */
|
||||
static bit ADSST @ 0x3F1; /* A/D start and status */
|
||||
static bit ADMOD @ 0x3F2; /* A/D mode select */
|
||||
static bit ADRES @ 0x3F3; /* A/D 8 or 10 bit mode select */
|
||||
|
||||
static bit ADCS0 @ 0x3F8; /* A/D channel 0 select bit */
|
||||
static bit ADCS1 @ 0x3F9; /* A/D channel 1 select bit */
|
||||
static bit ADCS2 @ 0x3FA; /* A/D channel 2 select bit */
|
||||
static bit ADCS3 @ 0x3FB; /* A/D channel 3 select bit */
|
||||
static bit ADCS4 @ 0x3FC; /* A/D channel 4 select bit */
|
||||
static bit ADCS5 @ 0x3FD; /* A/D channel 5 select bit */
|
||||
static bit ADCS6 @ 0x3FE; /* A/D channel 6 select bit */
|
||||
static bit ADCS7 @ 0x3FF; /* A/D channel 7 select bit */
|
||||
|
||||
|
||||
/* Exception vectors */
|
||||
#define IV_BRKPT 0x04 /* breakpoint vector */
|
||||
#define IV_TRACE 0x08 /* Trace mode bit set */
|
||||
#define IV_STKOVER 0x0C /* stack overflow */
|
||||
#define IV_DIVZERO 0x10 /* divide by zero */
|
||||
#define IV_IRET 0x14 /* user mode IRET */
|
||||
|
||||
/* Trap interrupt vectors */
|
||||
#define IV_TRI0 0x40
|
||||
#define IV_TRI1 0x44
|
||||
#define IV_TRI2 0x48
|
||||
#define IV_TRI3 0x4C
|
||||
#define IV_TRI4 0x50
|
||||
#define IV_TRI5 0x54
|
||||
#define IV_TRI6 0x58
|
||||
#define IV_TRI7 0x5C
|
||||
#define IV_TRI8 0x60
|
||||
#define IV_TRI9 0x64
|
||||
#define IV_TRI10 0x68
|
||||
#define IV_TRI11 0x6C
|
||||
#define IV_TRI12 0x70
|
||||
#define IV_TRI13 0x74
|
||||
#define IV_TRI14 0x78
|
||||
#define IV_TRI15 0x7C
|
||||
|
||||
/* Event interrupt vectors */
|
||||
#define IV_EX0 0x80 /* External interrupt 0 */
|
||||
#define IV_T0 0x84 /* Timer 0 interrupt */
|
||||
#define IV_EX1 0x88 /* External interrupt 1 */
|
||||
#define IV_T1 0x8C /* Timer 1 interrupt */
|
||||
#define IV_T2 0x90 /* Timer 2 interrupt */
|
||||
#define IV_PCA 0x94 /* PCA interrupt */
|
||||
#define IV_ADC 0x98 /* A/D interrupt */
|
||||
#define IV_RI0 0xA0 /* Serial port 0 Rx */
|
||||
#define IV_TI0 0xA4 /* Serial port 0 Tx */
|
||||
#define IV_RI1 0xA8 /* Serial port 1 Rx */
|
||||
#define IV_TI1 0xAC /* Serial port 1 Tx */
|
||||
#define IV_PCA0 0xC0 /* PCA channel 0 */
|
||||
#define IV_PCA1 0xC4 /* PCA channel 1 */
|
||||
#define IV_PCA2 0xC8 /* PCA channel 2 */
|
||||
#define IV_PCA3 0xCC /* PCA channel 3 */
|
||||
#define IV_PCA4 0xD0 /* PCA channel 4 */
|
||||
#define IV_I2C 0xD4 /* i2c interrupt */
|
||||
|
||||
/* Software interrupt vectors */
|
||||
#define IV_SWI1 0x100
|
||||
#define IV_SWI2 0x104
|
||||
#define IV_SWI3 0x108
|
||||
#define IV_SWI4 0x10C
|
||||
#define IV_SWI5 0x110
|
||||
#define IV_SWI6 0x114
|
||||
#define IV_SWI7 0x118
|
||||
|
||||
/* PSW Values for interrupt vectors */
|
||||
#define IV_PSW 0x8F00 /* System mode, high priority, bank 0 */
|
||||
#define IV_SYSTEM 0x8000
|
||||
#define IV_PRI00 0x0000 /* priorities 0 - 15 */
|
||||
#define IV_PRI01 0x0100
|
||||
#define IV_PRI02 0x0200
|
||||
#define IV_PRI03 0x0300
|
||||
#define IV_PRI04 0x0400
|
||||
#define IV_PRI05 0x0500
|
||||
#define IV_PRI06 0x0600
|
||||
#define IV_PRI07 0x0700
|
||||
#define IV_PRI08 0x0800
|
||||
#define IV_PRI09 0x0900
|
||||
#define IV_PRI10 0x0A00
|
||||
#define IV_PRI11 0x0B00
|
||||
#define IV_PRI12 0x0C00
|
||||
#define IV_PRI13 0x0D00
|
||||
#define IV_PRI14 0x0E00
|
||||
#define IV_PRI15 0x0F00
|
||||
|
||||
#define IV_BANK0 0x0000
|
||||
#define IV_BANK1 0x1000
|
||||
#define IV_BANK2 0x2000
|
||||
#define IV_BANK3 0x3000
|
||||
BIN
compilers/HT-XA/LIB/RTXA--H.OBJ
Normal file
BIN
compilers/HT-XA/LIB/RTXA--H.OBJ
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/RTXA--L.OBJ
Normal file
BIN
compilers/HT-XA/LIB/RTXA--L.OBJ
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/RTXA--M.OBJ
Normal file
BIN
compilers/HT-XA/LIB/RTXA--M.OBJ
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/RTXA--S.OBJ
Normal file
BIN
compilers/HT-XA/LIB/RTXA--S.OBJ
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/Rtxa--l.new
Normal file
BIN
compilers/HT-XA/LIB/Rtxa--l.new
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/S05557/C_XA_LIB
Normal file
BIN
compilers/HT-XA/LIB/S05557/C_XA_LIB
Normal file
Binary file not shown.
0
compilers/HT-XA/LIB/S05557/HPD.DAT
Normal file
0
compilers/HT-XA/LIB/S05557/HPD.DAT
Normal file
3
compilers/HT-XA/LIB/S05557/USER.INF
Normal file
3
compilers/HT-XA/LIB/S05557/USER.INF
Normal file
@@ -0,0 +1,3 @@
|
||||
HI-TECH C (XA) Cross Compiler V7.72
|
||||
Serial number CXA-05557
|
||||
Licensed to JK DK-AUDIO
|
||||
BIN
compilers/HT-XA/LIB/XA--HC.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA--HC.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA--HF.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA--HF.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA--HL.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA--HL.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA--LC.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA--LC.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA--LF.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA--LF.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA--LL.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA--LL.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA--MC.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA--MC.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA--MF.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA--MF.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA--ML.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA--ML.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA--SC.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA--SC.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA--SF.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA--SF.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA--SL.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA--SL.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-DHC.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-DHC.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-DHF.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-DHF.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-DHL.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-DHL.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-DLC.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-DLC.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-DLF.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-DLF.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-DLL.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-DLL.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-DMC.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-DMC.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-DMF.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-DMF.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-DML.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-DML.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-DSC.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-DSC.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-DSF.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-DSF.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-DSL.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-DSL.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-FHC.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-FHC.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-FHF.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-FHF.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-FHL.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-FHL.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-FLC.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-FLC.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-FLF.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-FLF.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-FLL.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-FLL.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-FMC.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-FMC.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-FMF.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-FMF.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-FML.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-FML.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-FSC.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-FSC.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-FSF.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-FSF.LIB
Normal file
Binary file not shown.
BIN
compilers/HT-XA/LIB/XA-FSL.LIB
Normal file
BIN
compilers/HT-XA/LIB/XA-FSL.LIB
Normal file
Binary file not shown.
3
compilers/HT-XA/LIB/tmp/READ.ME
Normal file
3
compilers/HT-XA/LIB/tmp/READ.ME
Normal file
@@ -0,0 +1,3 @@
|
||||
This directory contains the lib which came with the compiler.
|
||||
|
||||
|
||||
BIN
compilers/HT-XA/LIB/tmp/RTXA--L.OBJ
Normal file
BIN
compilers/HT-XA/LIB/tmp/RTXA--L.OBJ
Normal file
Binary file not shown.
98
compilers/HT-XA/READ.ME
Normal file
98
compilers/HT-XA/READ.ME
Normal file
@@ -0,0 +1,98 @@
|
||||
HI-TECH C XA Compiler
|
||||
Release Notes for V7.72 patch level 1
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
DATE: 11 November 1997
|
||||
|
||||
1.1 Introduction
|
||||
|
||||
This patch incorporates a minor fix.
|
||||
|
||||
This release (v7.72) incorporates important improvements. The
|
||||
major improvement is in memory addressing for far objects (ie. objects
|
||||
outside of the first 64k). New features include:
|
||||
|
||||
* Objects may be larger than 64k in size
|
||||
* Initialised far data objects are automatically copied from ROM into
|
||||
RAM
|
||||
|
||||
1.2 Known Limitations
|
||||
|
||||
There are no known limitations in this version of the compiler.
|
||||
|
||||
1.3 Changes
|
||||
|
||||
A list of bugs fixed between v7.72 and v7.72pl1 follows:
|
||||
|
||||
10 Nov 1997
|
||||
An SSEL bit was being cleared prematurely, causing a run-time
|
||||
error. This has been fixed.
|
||||
|
||||
Files affected: cgxa.exe
|
||||
|
||||
A list of bugs fixed between v7.71 and v7.72 follows:
|
||||
|
||||
28 Aug 1997
|
||||
When using the conditional ternary operator (? :) as the second
|
||||
argument in a function call, where the argument was of char
|
||||
length, the compiler could not generate code.
|
||||
|
||||
Files affected: cgxa.exe
|
||||
|
||||
22 Sep 1997
|
||||
When using pointers to far objects, erroneous assembler could be
|
||||
produced which used the fictional lr0 register. This has been
|
||||
fixed.
|
||||
|
||||
Files affected: cgxa.exe
|
||||
|
||||
7 Oct 1997
|
||||
If a function which returned a 'bit' seven or more bytes of local
|
||||
variables, the carry flag which contained the return value would
|
||||
be modified by the add instruction used to adjust the stack
|
||||
pointer. This has been fixed.
|
||||
|
||||
Files affected: cgxa.exe
|
||||
|
||||
|
||||
06 Nov 1997
|
||||
The compiler would access the wrong address when accessing an
|
||||
element of an array, with the array being in a far structure, but
|
||||
not the first object in the structure. This has been fixed.
|
||||
|
||||
Files affected: cgxa.exe
|
||||
|
||||
A list of bugs fixed between v7.70 and v7.71 follows:
|
||||
|
||||
07 Jul 1997
|
||||
(also affects all other compilers): An unterminated comment in an
|
||||
included file would cause cpp to crash if there was a comment in
|
||||
the includer file. This has been fixed and now generates an
|
||||
appropriate warnings at warning levels of -1 and -2.
|
||||
Also, setting warning levels of less than zero did not work for
|
||||
cpp.
|
||||
|
||||
Files affected: cpp.exe
|
||||
|
||||
09 Jul 1997
|
||||
Initialization of a local array or structure was not setting the
|
||||
CS register when in large model. References to a complicated data
|
||||
structure involving a structure member that was a pointer to a
|
||||
far array caused an illegal register name to be generated.
|
||||
Certain circumstances resulted in a register variable not being
|
||||
loaded when required.
|
||||
|
||||
Files affected: cgxa.exe
|
||||
|
||||
Jul 1997
|
||||
When using a far absolute variable declared in another module,
|
||||
the code did not get the segment correct, but sets it to zero
|
||||
when accessing the far absolute variable. This has been fixed.
|
||||
|
||||
Files affected: cgxa.exe
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
hitech@htsoft.com
|
||||
Copyright © 1997, HI-TECH Software. All rights reserved.
|
||||
BIN
compilers/HT-XA/doc/xaman.pdf
Normal file
BIN
compilers/HT-XA/doc/xaman.pdf
Normal file
Binary file not shown.
BIN
compilers/HT-XA/other/manual_805pl1.pdf
Normal file
BIN
compilers/HT-XA/other/manual_805pl1.pdf
Normal file
Binary file not shown.
BIN
compilers/HT-XA/other/pic18man.pdf
Normal file
BIN
compilers/HT-XA/other/pic18man.pdf
Normal file
Binary file not shown.
BIN
compilers/HT-XA/other/pic_manual.pdf
Normal file
BIN
compilers/HT-XA/other/pic_manual.pdf
Normal file
Binary file not shown.
BIN
compilers/HT-XA/other/picc18-demo.exe
Normal file
BIN
compilers/HT-XA/other/picc18-demo.exe
Normal file
Binary file not shown.
BIN
compilers/HT-XA/other/picclite-setup.exe
Normal file
BIN
compilers/HT-XA/other/picclite-setup.exe
Normal file
Binary file not shown.
125
compilers/HT-XA/sources/RTXA--L.AS
Normal file
125
compilers/HT-XA/sources/RTXA--L.AS
Normal file
@@ -0,0 +1,125 @@
|
||||
;
|
||||
; Runtime startoff module for HI-TECH C
|
||||
; Philips XA, Large model
|
||||
;
|
||||
; Clyde Smith-Stubbs, September 1995
|
||||
;
|
||||
; Copyright (C) 1995, HI-TECH Software
|
||||
; All Rights Reserved
|
||||
;
|
||||
; This software remains the property of HI-TECH SOFTWARE and is
|
||||
; supplied under licence only. The use of this software is
|
||||
; permitted under the terms of that licence only. Copying of
|
||||
; this software except for the purpose of making backup or
|
||||
; working copies for the use of the licensee on a single
|
||||
; processor is prohibited.
|
||||
;
|
||||
psect vectors,ovrld,class=CODE,align=2,space=0
|
||||
psect text,class=CODE,align=2,space=0
|
||||
psect code,class=CODE,space=0
|
||||
psect farbss,local,class=FARBSS,space=1,reloc=65536,size=65535,space=1
|
||||
psect fardata,local,class=FARDATA,space=1,reloc=65536,size=65535,space=1
|
||||
psect rbss,size=1024,class=DATA,space=1,reloc=2
|
||||
psect rdata,size=1024,class=DATA,space=0,reloc=2
|
||||
psect rbit,bit,size=512,class=BITSEG,space=1
|
||||
psect bss,class=DATA,space=1,reloc=2
|
||||
psect data,class=DATA,space=0,reloc=2
|
||||
psect const,class=DATA,space=0,reloc=2
|
||||
psect strings,class=DATA,space=0,reloc=2
|
||||
psect nvram,class=DATA,space=1,reloc=2
|
||||
psect farnvram,class=FARNVRAM,space=1,reloc=2
|
||||
psect stack,space=1,reloc=2
|
||||
psect heap,space=1,reloc=2
|
||||
;
|
||||
global start,_main,_exit ;entry point, main() and exit()
|
||||
global __Lrbss,__Hrbss ;rbss psect bounds
|
||||
global __Lrbit,__Hrbit ;rbit psect bounds
|
||||
global __Lrdata,__Hrdata,__Brdata ;rdata psect bounds, load addr
|
||||
global __Lbss,__Hbss ;bss psect bounds
|
||||
global __Ldata,__Hstrings,__Bdata ;data/const/strings bounds, load
|
||||
global __Hstack ;stack address
|
||||
global powerup,start
|
||||
;
|
||||
psect vectors
|
||||
dw 8F00h,powerup ;point RESET vector at powerup code, set system mode
|
||||
;
|
||||
; Copyright message, and initialization code
|
||||
;
|
||||
psect text
|
||||
db "C Library Copyright (C) 1995 HI-TECH Software",0dh,0ah
|
||||
db "Brisbane, QLD. Australia",0dh,0ah,0,26
|
||||
db "$Id$"
|
||||
;
|
||||
start:
|
||||
and.b 440h,#0FEh ;reset page zero bit
|
||||
mov sp,#__Hstack-2 ;initialize SP
|
||||
add sp,#2
|
||||
;
|
||||
; Clear the RBIT psect
|
||||
;
|
||||
mov r0,#((__Hrbit-__Lrbit+7)/8) & 127
|
||||
mov r1,#__Lrbit/8
|
||||
call clear
|
||||
;
|
||||
; Clear the RBSS psect
|
||||
;
|
||||
mov r0,#__Hrbss-__Lrbss
|
||||
mov r1,#__Lrbss
|
||||
call clear
|
||||
;
|
||||
; Copy the RDATA psect
|
||||
;
|
||||
mov r0,#__Hrdata-__Lrdata
|
||||
mov r1,#__Brdata
|
||||
mov r2,#__Lrdata
|
||||
call copy
|
||||
;
|
||||
; Clear the BSS psect
|
||||
;
|
||||
mov r0,#__Hbss-__Lbss
|
||||
mov r1,#__Lbss
|
||||
call clear
|
||||
;
|
||||
; Copy the DATA,CONST and STRINGS psects
|
||||
;
|
||||
mov r0,#__Hstrings-__Ldata
|
||||
mov r1,#__Bdata
|
||||
mov r2,#__Ldata
|
||||
call copy
|
||||
;
|
||||
; Now call the main() function
|
||||
;
|
||||
fcall _main
|
||||
_exit:
|
||||
br start
|
||||
;
|
||||
; clear: zero "r0" bytes of memory at address "r1",
|
||||
; does nothing if "r0" is zero.
|
||||
;
|
||||
clear:
|
||||
cmp r0,#0
|
||||
beq 2f
|
||||
1:
|
||||
movs.b [r1+],#0 ;clear 1 byte
|
||||
djnz r0,1b
|
||||
2:
|
||||
ret
|
||||
;
|
||||
; copy: copy "r0" bytes from address "r1" to address "r2",
|
||||
; "r1" is treated as a code pointer. does nothing
|
||||
; if "r0" is zero.
|
||||
;
|
||||
copy:
|
||||
cmp r0,#0
|
||||
beq 2f
|
||||
1:
|
||||
movc r3l,[r1+] ;get source byte
|
||||
mov [r2+],r3l ;store to destination
|
||||
djnz r0,1b
|
||||
2:
|
||||
ret
|
||||
;
|
||||
end start
|
||||
;
|
||||
; End of file: "$Id$"
|
||||
;
|
||||
212
compilers/c51/Asm/C8051F000.INC
Normal file
212
compilers/c51/Asm/C8051F000.INC
Normal file
@@ -0,0 +1,212 @@
|
||||
;-----------------------------------------------------------------------------
|
||||
; Copyright (C) 2001 CYGNAL INTEGRATED PRODUCTS, INC.
|
||||
; All rights reserved.
|
||||
;
|
||||
;
|
||||
; FILE NAME : C8051F000.INC
|
||||
; TARGET MCUs : C8051F000, 'F001, 'F002, 'F010, 'F011, 'F012, 'F005, 'F006,
|
||||
; 'F007, 'F015, 'F016 and 'F017
|
||||
; DESCRIPTION : Register/bit definitions for the C8051F0xx product family.
|
||||
;
|
||||
; REVISION 1.9
|
||||
;
|
||||
;-----------------------------------------------------------------------------
|
||||
;REGISTER DEFINITIONS
|
||||
;
|
||||
P0 DATA 080H ; PORT 0
|
||||
SP DATA 081H ; STACK POINTER
|
||||
DPL DATA 082H ; DATA POINTER - LOW BYTE
|
||||
DPH DATA 083H ; DATA POINTER - HIGH BYTE
|
||||
PCON DATA 087H ; POWER CONTROL
|
||||
TCON DATA 088H ; TIMER CONTROL
|
||||
TMOD DATA 089H ; TIMER MODE
|
||||
TL0 DATA 08AH ; TIMER 0 - LOW BYTE
|
||||
TL1 DATA 08BH ; TIMER 1 - LOW BYTE
|
||||
TH0 DATA 08CH ; TIMER 0 - HIGH BYTE
|
||||
TH1 DATA 08DH ; TIMER 1 - HIGH BYTE
|
||||
CKCON DATA 08EH ; CLOCK CONTROL
|
||||
PSCTL DATA 08FH ; PROGRAM STORE R/W CONTROL
|
||||
P1 DATA 090H ; PORT 1
|
||||
TMR3CN DATA 091H ; TIMER 3 CONTROL
|
||||
TMR3RLL DATA 092H ; TIMER 3 RELOAD REGISTER - LOW BYTE
|
||||
TMR3RLH DATA 093H ; TIMER 3 RELOAD REGISTER - HIGH BYTE
|
||||
TMR3L DATA 094H ; TIMER 3 - LOW BYTE
|
||||
TMR3H DATA 095H ; TIMER 3 - HIGH BYTE
|
||||
SCON DATA 098H ; SERIAL PORT CONTROL
|
||||
SBUF DATA 099H ; SERIAL PORT BUFFER
|
||||
SPI0CFG DATA 09AH ; SERIAL PERIPHERAL INTERFACE 0 CONFIGURATION
|
||||
SPI0DAT DATA 09BH ; SERIAL PERIPHERAL INTERFACE 0 DATA
|
||||
SPI0CKR DATA 09DH ; SERIAL PERIPHERAL INTERFACE 0 CLOCK RATE CONTROL
|
||||
CPT0CN DATA 09EH ; COMPARATOR 0 CONTROL
|
||||
CPT1CN DATA 09FH ; COMPARATOR 1 CONTROL
|
||||
P2 DATA 0A0H ; PORT 2
|
||||
PRT0CF DATA 0A4H ; PORT 0 CONFIGURATION
|
||||
PRT1CF DATA 0A5H ; PORT 1 CONFIGURATION
|
||||
PRT2CF DATA 0A6H ; PORT 2 CONFIGURATION
|
||||
PRT3CF DATA 0A7H ; PORT 3 CONFIGURATION
|
||||
IE DATA 0A8H ; INTERRUPT ENABLE
|
||||
PRT1IF DATA 0ADH ; PORT 1 EXTERNAL INTERRUPT FLAGS
|
||||
EMI0CN DATA 0AFH ; EXTERNAL MEMORY INTERFACE CONTROL
|
||||
P3 DATA 0B0H ; PORT 3
|
||||
OSCXCN DATA 0B1H ; EXTERNAL OSCILLATOR CONTROL
|
||||
OSCICN DATA 0B2H ; INTERNAL OSCILLATOR CONTROL
|
||||
FLSCL DATA 0B6H ; FLASH MEMORY TIMING PRESCALER
|
||||
FLACL DATA 0B7H ; FLASH ACESS LIMIT
|
||||
IP DATA 0B8H ; INTERRUPT PRIORITY
|
||||
AMX0CF DATA 0BAH ; ADC 0 MUX CONFIGURATION
|
||||
AMX0SL DATA 0BBH ; ADC 0 MUX CHANNEL SELECTION
|
||||
ADC0CF DATA 0BCH ; ADC 0 CONFIGURATION
|
||||
ADC0L DATA 0BEH ; ADC 0 DATA - LOW BYTE
|
||||
ADC0H DATA 0BFH ; ADC 0 DATA - HIGH BYTE
|
||||
SMB0CN DATA 0C0H ; SMBUS 0 CONTROL
|
||||
SMB0STA DATA 0C1H ; SMBUS 0 STATUS
|
||||
SMB0DAT DATA 0C2H ; SMBUS 0 DATA
|
||||
SMB0ADR DATA 0C3H ; SMBUS 0 SLAVE ADDRESS
|
||||
ADC0GTL DATA 0C4H ; ADC 0 GREATER-THAN REGISTER - LOW BYTE
|
||||
ADC0GTH DATA 0C5H ; ADC 0 GREATER-THAN REGISTER - HIGH BYTE
|
||||
ADC0LTL DATA 0C6H ; ADC 0 LESS-THAN REGISTER - LOW BYTE
|
||||
ADC0LTH DATA 0C7H ; ADC 0 LESS-THAN REGISTER - HIGH BYTE
|
||||
T2CON DATA 0C8H ; TIMER 2 CONTROL
|
||||
RCAP2L DATA 0CAH ; TIMER 2 CAPTURE REGISTER - LOW BYTE
|
||||
RCAP2H DATA 0CBH ; TIMER 2 CAPTURE REGISTER - HIGH BYTE
|
||||
TL2 DATA 0CCH ; TIMER 2 - LOW BYTE
|
||||
TH2 DATA 0CDH ; TIMER 2 - HIGH BYTE
|
||||
SMB0CR DATA 0CFH ; SMBUS 0 CLOCK RATE
|
||||
PSW DATA 0D0H ; PROGRAM STATUS WORD
|
||||
REF0CN DATA 0D1H ; VOLTAGE REFERENCE 0 CONTROL
|
||||
DAC0L DATA 0D2H ; DAC 0 REGISTER - LOW BYTE
|
||||
DAC0H DATA 0D3H ; DAC 0 REGISTER - HIGH BYTE
|
||||
DAC0CN DATA 0D4H ; DAC 0 CONTROL
|
||||
DAC1L DATA 0D5H ; DAC 1 REGISTER - LOW BYTE
|
||||
DAC1H DATA 0D6H ; DAC 1 REGISTER - HIGH BYTE
|
||||
DAC1CN DATA 0D7H ; DAC 1 CONTROL
|
||||
PCA0CN DATA 0D8H ; PCA 0 COUNTER CONTROL
|
||||
PCA0MD DATA 0D9H ; PCA 0 COUNTER MODE
|
||||
PCA0CPM0 DATA 0DAH ; CONTROL REGISTER FOR PCA 0 MODULE 0
|
||||
PCA0CPM1 DATA 0DBH ; CONTROL REGISTER FOR PCA 0 MODULE 1
|
||||
PCA0CPM2 DATA 0DCH ; CONTROL REGISTER FOR PCA 0 MODULE 2
|
||||
PCA0CPM3 DATA 0DDH ; CONTROL REGISTER FOR PCA 0 MODULE 3
|
||||
PCA0CPM4 DATA 0DEH ; CONTROL REGISTER FOR PCA 0 MODULE 4
|
||||
ACC DATA 0E0H ; ACCUMULATOR
|
||||
XBR0 DATA 0E1H ; DIGITAL CROSSBAR CONFIGURATION REGISTER 0
|
||||
XBR1 DATA 0E2H ; DIGITAL CROSSBAR CONFIGURATION REGISTER 1
|
||||
XBR2 DATA 0E3H ; DIGITAL CROSSBAR CONFIGURATION REGISTER 2
|
||||
EIE1 DATA 0E6H ; EXTERNAL INTERRUPT ENABLE 1
|
||||
EIE2 DATA 0E7H ; EXTERNAL INTERRUPT ENABLE 2
|
||||
ADC0CN DATA 0E8H ; ADC 0 CONTROL
|
||||
PCA0L DATA 0E9H ; PCA 0 TIMER - LOW BYTE
|
||||
PCA0CPL0 DATA 0EAH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 0 - LOW BYTE
|
||||
PCA0CPL1 DATA 0EBH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 1 - LOW BYTE
|
||||
PCA0CPL2 DATA 0ECH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 2 - LOW BYTE
|
||||
PCA0CPL3 DATA 0EDH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 3 - LOW BYTE
|
||||
PCA0CPL4 DATA 0EEH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 4 - LOW BYTE
|
||||
RSTSRC DATA 0EFH ; RESET SOURCE
|
||||
B DATA 0F0H ; B REGISTER
|
||||
EIP1 DATA 0F6H ; EXTERNAL INTERRUPT PRIORITY REGISTER 1
|
||||
EIP2 DATA 0F7H ; EXTERNAL INTERRUPT PRIORITY REGISTER 2
|
||||
SPI0CN DATA 0F8H ; SERIAL PERIPHERAL INTERFACE 0 CONTROL
|
||||
PCA0H DATA 0F9H ; PCA 0 TIMER - HIGH BYTE
|
||||
PCA0CPH0 DATA 0FAH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 0 - HIGH BYTE
|
||||
PCA0CPH1 DATA 0FBH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 1 - HIGH BYTE
|
||||
PCA0CPH2 DATA 0FCH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 2 - HIGH BYTE
|
||||
PCA0CPH3 DATA 0FDH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 3 - HIGH BYTE
|
||||
PCA0CPH4 DATA 0FEH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 4 - HIGH BYTE
|
||||
WDTCN DATA 0FFH ; WATCHDOG TIMER CONTROL
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
;BIT DEFINITIONS
|
||||
;
|
||||
; TCON 88H
|
||||
IT0 BIT TCON.0 ; EXT. INTERRUPT 0 TYPE
|
||||
IE0 BIT TCON.1 ; EXT. INTERRUPT 0 EDGE FLAG
|
||||
IT1 BIT TCON.2 ; EXT. INTERRUPT 1 TYPE
|
||||
IE1 BIT TCON.3 ; EXT. INTERRUPT 1 EDGE FLAG
|
||||
TR0 BIT TCON.4 ; TIMER 0 ON/OFF CONTROL
|
||||
TF0 BIT TCON.5 ; TIMER 0 OVERFLOW FLAG
|
||||
TR1 BIT TCON.6 ; TIMER 1 ON/OFF CONTROL
|
||||
TF1 BIT TCON.7 ; TIMER 1 OVERFLOW FLAG
|
||||
;
|
||||
; SCON 98H
|
||||
RI BIT SCON.0 ; RECEIVE INTERRUPT FLAG
|
||||
TI BIT SCON.1 ; TRANSMIT INTERRUPT FLAG
|
||||
RB8 BIT SCON.2 ; RECEIVE BIT 8
|
||||
TB8 BIT SCON.3 ; TRANSMIT BIT 8
|
||||
REN BIT SCON.4 ; RECEIVE ENABLE
|
||||
SM2 BIT SCON.5 ; MULTIPROCESSOR COMMUNICATION ENABLE
|
||||
SM1 BIT SCON.6 ; SERIAL MODE CONTROL BIT 1
|
||||
SM0 BIT SCON.7 ; SERIAL MODE CONTROL BIT 0
|
||||
;
|
||||
; IE A8H
|
||||
EX0 BIT IE.0 ; EXTERNAL INTERRUPT 0 ENABLE
|
||||
ET0 BIT IE.1 ; TIMER 0 INTERRUPT ENABLE
|
||||
EX1 BIT IE.2 ; EXTERNAL INTERRUPT 1 ENABLE
|
||||
ET1 BIT IE.3 ; TIMER 1 INTERRUPT ENABLE
|
||||
ES BIT IE.4 ; SERIAL PORT INTERRUPT ENABLE
|
||||
ET2 BIT IE.5 ; TIMER 2 INTERRUPT ENABLE
|
||||
EA BIT IE.7 ; GLOBAL INTERRUPT ENABLE
|
||||
;
|
||||
; IP B8H
|
||||
PX0 BIT IP.0 ; EXTERNAL INTERRUPT 0 PRIORITY
|
||||
PT0 BIT IP.1 ; TIMER 0 PRIORITY
|
||||
PX1 BIT IP.2 ; EXTERNAL INTERRUPT 1 PRIORITY
|
||||
PT1 BIT IP.3 ; TIMER 1 PRIORITY
|
||||
PS BIT IP.4 ; SERIAL PORT PRIORITY
|
||||
PT2 BIT IP.5 ; TIMER 2 PRIORITY
|
||||
;
|
||||
; SMB0CN C0H
|
||||
SMBTOE BIT SMB0CN.0 ; SMBUS 0 TIMEOUT ENABLE
|
||||
SMBFTE BIT SMB0CN.1 ; SMBUS 0 FREE TIMER ENABLE
|
||||
AA BIT SMB0CN.2 ; SMBUS 0 ASSERT/ACKNOWLEDGE FLAG
|
||||
SI BIT SMB0CN.3 ; SMBUS 0 INTERRUPT PENDING FLAG
|
||||
STO BIT SMB0CN.4 ; SMBUS 0 STOP FLAG
|
||||
STA BIT SMB0CN.5 ; SMBUS 0 START FLAG
|
||||
ENSMB BIT SMB0CN.6 ; SMBUS 0 ENABLE
|
||||
;
|
||||
; T2CON C8H
|
||||
CPRL2 BIT T2CON.0 ; CAPTURE OR RELOAD SELECT
|
||||
CT2 BIT T2CON.1 ; TIMER OR COUNTER SELECT
|
||||
TR2 BIT T2CON.2 ; TIMER 2 ON/OFF CONTROL
|
||||
EXEN2 BIT T2CON.3 ; TIMER 2 EXTERNAL ENABLE FLAG
|
||||
TCLK BIT T2CON.4 ; TRANSMIT CLOCK FLAG
|
||||
RCLK BIT T2CON.5 ; RECEIVE CLOCK FLAG
|
||||
EXF2 BIT T2CON.6 ; EXTERNAL FLAG
|
||||
TF2 BIT T2CON.7 ; TIMER 2 OVERFLOW FLAG
|
||||
;
|
||||
; PSW D0H
|
||||
P BIT PSW.0 ; ACCUMULATOR PARITY FLAG
|
||||
F1 BIT PSW.1 ; USER FLAG 1
|
||||
OV BIT PSW.2 ; OVERFLOW FLAG
|
||||
RS0 BIT PSW.3 ; REGISTER BANK SELECT 0
|
||||
RS1 BIT PSW.4 ; REGISTER BANK SELECT 1
|
||||
F0 BIT PSW.5 ; USER FLAG 0
|
||||
AC BIT PSW.6 ; AUXILIARY CARRY FLAG
|
||||
CY BIT PSW.7 ; CARRY FLAG
|
||||
;
|
||||
; PCA0CN D8H
|
||||
CCF0 BIT PCA0CN.0 ; PCA 0 MODULE 0 INTERRUPT FLAG
|
||||
CCF1 BIT PCA0CN.1 ; PCA 0 MODULE 1 INTERRUPT FLAG
|
||||
CCF2 BIT PCA0CN.2 ; PCA 0 MODULE 2 INTERRUPT FLAG
|
||||
CCF3 BIT PCA0CN.3 ; PCA 0 MODULE 3 INTERRUPT FLAG
|
||||
CCF4 BIT PCA0CN.4 ; PCA 0 MODULE 4 INTERRUPT FLAG
|
||||
CR BIT PCA0CN.6 ; PCA 0 COUNTER RUN CONTROL BIT
|
||||
CF BIT PCA0CN.7 ; PCA 0 COUNTER OVERFLOW FLAG
|
||||
;
|
||||
; ADC0CN E8H
|
||||
ADLJST BIT ADC0CN.0 ; ADC 0 RIGHT JUSTIFY DATA BIT
|
||||
ADWINT BIT ADC0CN.1 ; ADC 0 WINDOW COMPARE INTERRUPT FLAG
|
||||
ADSTM0 BIT ADC0CN.2 ; ADC 0 START OF CONVERSION MODE BIT 0
|
||||
ADSTM1 BIT ADC0CN.3 ; ADC 0 START OF CONVERSION MODE BIT 1
|
||||
ADBUSY BIT ADC0CN.4 ; ADC 0 BUSY FLAG
|
||||
ADCINT BIT ADC0CN.5 ; ADC 0 CONVERISION COMPLETE INTERRUPT FLAG
|
||||
ADCTM BIT ADC0CN.6 ; ADC 0 TRACK MODE
|
||||
ADCEN BIT ADC0CN.7 ; ADC 0 ENABLE
|
||||
;
|
||||
; SPI0CN F8H
|
||||
SPIEN BIT SPI0CN.0 ; SPI 0 SPI ENABLE
|
||||
MSTEN BIT SPI0CN.1 ; SPI 0 MASTER ENABLE
|
||||
SLVSEL BIT SPI0CN.2 ; SPI 0 SLAVE SELECT
|
||||
TXBSY BIT SPI0CN.3 ; SPI 0 TX BUSY FLAG
|
||||
RXOVRN BIT SPI0CN.4 ; SPI 0 RX OVERRUN FLAG
|
||||
MODF BIT SPI0CN.5 ; SPI 0 MODE FAULT FLAG
|
||||
WCOL BIT SPI0CN.6 ; SPI 0 WRITE COLLISION FLAG
|
||||
SPIF BIT SPI0CN.7 ; SPI 0 INTERRUPT FLAG
|
||||
234
compilers/c51/Asm/C8051F020.INC
Normal file
234
compilers/c51/Asm/C8051F020.INC
Normal file
@@ -0,0 +1,234 @@
|
||||
;-----------------------------------------------------------------------------
|
||||
; Copyright (C) 2001 CYGNAL INTEGRATED PRODUCTS, INC.
|
||||
; All rights reserved.
|
||||
;
|
||||
;
|
||||
; FILE NAME : C8051F020.INC
|
||||
; TARGET MCUs : C8051F020, 'F021, 'F022, 'F023
|
||||
; DESCRIPTION : Register/bit definitions for the C8051F02x product family.
|
||||
;
|
||||
; REVISION 1.0
|
||||
;
|
||||
;-----------------------------------------------------------------------------
|
||||
;REGISTER DEFINITIONS
|
||||
;
|
||||
P0 DATA 080H ; PORT 0
|
||||
SP DATA 081H ; STACK POINTER
|
||||
DPL DATA 082H ; DATA POINTER - LOW BYTE
|
||||
DPH DATA 083H ; DATA POINTER - HIGH BYTE
|
||||
P4 DATA 084H ; PORT 4
|
||||
P5 DATA 085H ; PORT 5
|
||||
P6 DATA 086H ; PORT 6
|
||||
PCON DATA 087H ; POWER CONTROL
|
||||
TCON DATA 088H ; TIMER CONTROL
|
||||
TMOD DATA 089H ; TIMER MODE
|
||||
TL0 DATA 08AH ; TIMER 0 - LOW BYTE
|
||||
TL1 DATA 08BH ; TIMER 1 - LOW BYTE
|
||||
TH0 DATA 08CH ; TIMER 0 - HIGH BYTE
|
||||
TH1 DATA 08DH ; TIMER 1 - HIGH BYTE
|
||||
CKCON DATA 08EH ; CLOCK CONTROL
|
||||
PSCTL DATA 08FH ; PROGRAM STORE R/W CONTROL
|
||||
P1 DATA 090H ; PORT 1
|
||||
TMR3CN DATA 091H ; TIMER 3 CONTROL
|
||||
TMR3RLL DATA 092H ; TIMER 3 RELOAD REGISTER - LOW BYTE
|
||||
TMR3RLH DATA 093H ; TIMER 3 RELOAD REGISTER - HIGH BYTE
|
||||
TMR3L DATA 094H ; TIMER 3 - LOW BYTE
|
||||
TMR3H DATA 095H ; TIMER 3 - HIGH BYTE
|
||||
P7 DATA 096H ; PORT 7
|
||||
SCON0 DATA 098H ; SERIAL PORT 0 CONTROL
|
||||
SBUF0 DATA 099H ; SERIAL PORT 0 BUFFER
|
||||
SPI0CFG DATA 09AH ; SERIAL PERIPHERAL INTERFACE 0 CONFIGURATION
|
||||
SPI0DAT DATA 09BH ; SERIAL PERIPHERAL INTERFACE 0 DATA
|
||||
ADC1 DATA 09CH ; ADC 1 DATA
|
||||
SPI0CKR DATA 09DH ; SERIAL PERIPHERAL INTERFACE 0 CLOCK RATE CONTROL
|
||||
CPT0CN DATA 09EH ; COMPARATOR 0 CONTROL
|
||||
CPT1CN DATA 09FH ; COMPARATOR 1 CONTROL
|
||||
P2 DATA 0A0H ; PORT 2
|
||||
EMI0TC DATA 0A1H ; EMIF TIMING CONTROL
|
||||
EMI0CF DATA 0A3H ; EXTERNAL MEMORY INTERFACE (EMIF) CONFIGURATION
|
||||
P0MDOUT DATA 0A4H ; PORT 0 OUTPUT MODE CONFIGURATION
|
||||
P1MDOUT DATA 0A5H ; PORT 1 OUTPUT MODE CONFIGURATION
|
||||
P2MDOUT DATA 0A6H ; PORT 2 OUTPUT MODE CONFIGURATION
|
||||
P3MDOUT DATA 0A7H ; PORT 3 OUTPUT MODE CONFIGURATION
|
||||
IE DATA 0A8H ; INTERRUPT ENABLE
|
||||
SADDR0 DATA 0A9H ; SERIAL PORT 0 SLAVE ADDRESS
|
||||
ADC1CN DATA 0AAH ; ADC 1 CONTROL
|
||||
ADC1CF DATA 0ABH ; ADC 1 ANALOG MUX CONFIGURATION
|
||||
AMX1SL DATA 0ACH ; ADC 1 ANALOG MUX CHANNEL SELECT
|
||||
P3IF DATA 0ADH ; PORT 3 EXTERNAL INTERRUPT FLAGS
|
||||
SADEN1 DATA 0AEH ; SERIAL PORT 1 SLAVE ADDRESS MASK
|
||||
EMI0CN DATA 0AFH ; EXTERNAL MEMORY INTERFACE CONTROL
|
||||
P3 DATA 0B0H ; PORT 3
|
||||
OSCXCN DATA 0B1H ; EXTERNAL OSCILLATOR CONTROL
|
||||
OSCICN DATA 0B2H ; INTERNAL OSCILLATOR CONTROL
|
||||
P74OUT DATA 0B5H ; PORTS 4 - 7 OUTPUT MODE
|
||||
FLSCL DATA 0B6H ; FLASH MEMORY TIMING PRESCALER
|
||||
FLACL DATA 0B7H ; FLASH ACESS LIMIT
|
||||
IP DATA 0B8H ; INTERRUPT PRIORITY
|
||||
SADEN0 DATA 0B9H ; SERIAL PORT 0 SLAVE ADDRESS MASK
|
||||
AMX0CF DATA 0BAH ; ADC 0 MUX CONFIGURATION
|
||||
AMX0SL DATA 0BBH ; ADC 0 MUX CHANNEL SELECTION
|
||||
ADC0CF DATA 0BCH ; ADC 0 CONFIGURATION
|
||||
P1MDIN DATA 0BDH ; PORT 1 INPUT MODE
|
||||
ADC0L DATA 0BEH ; ADC 0 DATA - LOW BYTE
|
||||
ADC0H DATA 0BFH ; ADC 0 DATA - HIGH BYTE
|
||||
SMB0CN DATA 0C0H ; SMBUS 0 CONTROL
|
||||
SMB0STA DATA 0C1H ; SMBUS 0 STATUS
|
||||
SMB0DAT DATA 0C2H ; SMBUS 0 DATA
|
||||
SMB0ADR DATA 0C3H ; SMBUS 0 SLAVE ADDRESS
|
||||
ADC0GTL DATA 0C4H ; ADC 0 GREATER-THAN REGISTER - LOW BYTE
|
||||
ADC0GTH DATA 0C5H ; ADC 0 GREATER-THAN REGISTER - HIGH BYTE
|
||||
ADC0LTL DATA 0C6H ; ADC 0 LESS-THAN REGISTER - LOW BYTE
|
||||
ADC0LTH DATA 0C7H ; ADC 0 LESS-THAN REGISTER - HIGH BYTE
|
||||
T2CON DATA 0C8H ; TIMER 2 CONTROL
|
||||
T4CON DATA 0C9H ; TIMER 4 CONTROL
|
||||
RCAP2L DATA 0CAH ; TIMER 2 CAPTURE REGISTER - LOW BYTE
|
||||
RCAP2H DATA 0CBH ; TIMER 2 CAPTURE REGISTER - HIGH BYTE
|
||||
TL2 DATA 0CCH ; TIMER 2 - LOW BYTE
|
||||
TH2 DATA 0CDH ; TIMER 2 - HIGH BYTE
|
||||
SMB0CR DATA 0CFH ; SMBUS 0 CLOCK RATE
|
||||
PSW DATA 0D0H ; PROGRAM STATUS WORD
|
||||
REF0CN DATA 0D1H ; VOLTAGE REFERENCE 0 CONTROL
|
||||
DAC0L DATA 0D2H ; DAC 0 REGISTER - LOW BYTE
|
||||
DAC0H DATA 0D3H ; DAC 0 REGISTER - HIGH BYTE
|
||||
DAC0CN DATA 0D4H ; DAC 0 CONTROL
|
||||
DAC1L DATA 0D5H ; DAC 1 REGISTER - LOW BYTE
|
||||
DAC1H DATA 0D6H ; DAC 1 REGISTER - HIGH BYTE
|
||||
DAC1CN DATA 0D7H ; DAC 1 CONTROL
|
||||
PCA0CN DATA 0D8H ; PCA 0 COUNTER CONTROL
|
||||
PCA0MD DATA 0D9H ; PCA 0 COUNTER MODE
|
||||
PCA0CPM0 DATA 0DAH ; CONTROL REGISTER FOR PCA 0 MODULE 0
|
||||
PCA0CPM1 DATA 0DBH ; CONTROL REGISTER FOR PCA 0 MODULE 1
|
||||
PCA0CPM2 DATA 0DCH ; CONTROL REGISTER FOR PCA 0 MODULE 2
|
||||
PCA0CPM3 DATA 0DDH ; CONTROL REGISTER FOR PCA 0 MODULE 3
|
||||
PCA0CPM4 DATA 0DEH ; CONTROL REGISTER FOR PCA 0 MODULE 4
|
||||
ACC DATA 0E0H ; ACCUMULATOR
|
||||
XBR0 DATA 0E1H ; DIGITAL CROSSBAR CONFIGURATION REGISTER 0
|
||||
XBR1 DATA 0E2H ; DIGITAL CROSSBAR CONFIGURATION REGISTER 1
|
||||
XBR2 DATA 0E3H ; DIGITAL CROSSBAR CONFIGURATION REGISTER 2
|
||||
RCAP4L DATA 0E4H ; TIMER 4 CAPTURE REGISTER - LOW BYTE
|
||||
RCAP4H DATA 0E5H ; TIMER 4 CAPTURE REGISTER - HIGH BYTE
|
||||
EIE1 DATA 0E6H ; EXTERNAL INTERRUPT ENABLE 1
|
||||
EIE2 DATA 0E7H ; EXTERNAL INTERRUPT ENABLE 2
|
||||
ADC0CN DATA 0E8H ; ADC 0 CONTROL
|
||||
PCA0L DATA 0E9H ; PCA 0 TIMER - LOW BYTE
|
||||
PCA0CPL0 DATA 0EAH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 0 - LOW BYTE
|
||||
PCA0CPL1 DATA 0EBH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 1 - LOW BYTE
|
||||
PCA0CPL2 DATA 0ECH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 2 - LOW BYTE
|
||||
PCA0CPL3 DATA 0EDH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 3 - LOW BYTE
|
||||
PCA0CPL4 DATA 0EEH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 4 - LOW BYTE
|
||||
RSTSRC DATA 0EFH ; RESET SOURCE
|
||||
B DATA 0F0H ; B REGISTER
|
||||
SCON1 DATA 0F1H ; SERIAL PORT 1 CONTROL
|
||||
SBUF1 DATA 0F2H ; SERAIL PORT 1 DATA
|
||||
SADDR1 DATA 0F3H ; SERAIL PORT 1
|
||||
TL4 DATA 0F4H ; TIMER 4 DATA - LOW BYTE
|
||||
TH4 DATA 0F5H ; TIMER 4 DATA - HIGH BYTE
|
||||
EIP1 DATA 0F6H ; EXTERNAL INTERRUPT PRIORITY REGISTER 1
|
||||
EIP2 DATA 0F7H ; EXTERNAL INTERRUPT PRIORITY REGISTER 2
|
||||
SPI0CN DATA 0F8H ; SERIAL PERIPHERAL INTERFACE 0 CONTROL
|
||||
PCA0H DATA 0F9H ; PCA 0 TIMER - HIGH BYTE
|
||||
PCA0CPH0 DATA 0FAH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 0 - HIGH BYTE
|
||||
PCA0CPH1 DATA 0FBH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 1 - HIGH BYTE
|
||||
PCA0CPH2 DATA 0FCH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 2 - HIGH BYTE
|
||||
PCA0CPH3 DATA 0FDH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 3 - HIGH BYTE
|
||||
PCA0CPH4 DATA 0FEH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 4 - HIGH BYTE
|
||||
WDTCN DATA 0FFH ; WATCHDOG TIMER CONTROL
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
;BIT DEFINITIONS
|
||||
;
|
||||
; TCON 88H
|
||||
IT0 BIT TCON.0 ; EXT. INTERRUPT 0 TYPE
|
||||
IE0 BIT TCON.1 ; EXT. INTERRUPT 0 EDGE FLAG
|
||||
IT1 BIT TCON.2 ; EXT. INTERRUPT 1 TYPE
|
||||
IE1 BIT TCON.3 ; EXT. INTERRUPT 1 EDGE FLAG
|
||||
TR0 BIT TCON.4 ; TIMER 0 ON/OFF CONTROL
|
||||
TF0 BIT TCON.5 ; TIMER 0 OVERFLOW FLAG
|
||||
TR1 BIT TCON.6 ; TIMER 1 ON/OFF CONTROL
|
||||
TF1 BIT TCON.7 ; TIMER 1 OVERFLOW FLAG
|
||||
;
|
||||
; SCON0 98H
|
||||
RI BIT SCON0.0 ; RECEIVE INTERRUPT FLAG
|
||||
TI BIT SCON0.1 ; TRANSMIT INTERRUPT FLAG
|
||||
RB8 BIT SCON0.2 ; RECEIVE BIT 8
|
||||
TB8 BIT SCON0.3 ; TRANSMIT BIT 8
|
||||
REN BIT SCON0.4 ; RECEIVE ENABLE
|
||||
SM2 BIT SCON0.5 ; MULTIPROCESSOR COMMUNICATION ENABLE
|
||||
SM1 BIT SCON0.6 ; SERIAL MODE CONTROL BIT 1
|
||||
SM0 BIT SCON0.7 ; SERIAL MODE CONTROL BIT 0
|
||||
;
|
||||
; IE A8H
|
||||
EX0 BIT IE.0 ; EXTERNAL INTERRUPT 0 ENABLE
|
||||
ET0 BIT IE.1 ; TIMER 0 INTERRUPT ENABLE
|
||||
EX1 BIT IE.2 ; EXTERNAL INTERRUPT 1 ENABLE
|
||||
ET1 BIT IE.3 ; TIMER 1 INTERRUPT ENABLE
|
||||
ES BIT IE.4 ; SERIAL PORT INTERRUPT ENABLE
|
||||
ET2 BIT IE.5 ; TIMER 2 INTERRUPT ENABLE
|
||||
EA BIT IE.7 ; GLOBAL INTERRUPT ENABLE
|
||||
;
|
||||
; IP B8H
|
||||
PX0 BIT IP.0 ; EXTERNAL INTERRUPT 0 PRIORITY
|
||||
PT0 BIT IP.1 ; TIMER 0 PRIORITY
|
||||
PX1 BIT IP.2 ; EXTERNAL INTERRUPT 1 PRIORITY
|
||||
PT1 BIT IP.3 ; TIMER 1 PRIORITY
|
||||
PS BIT IP.4 ; SERIAL PORT PRIORITY
|
||||
PT2 BIT IP.5 ; TIMER 2 PRIORITY
|
||||
;
|
||||
; SMB0CN C0H
|
||||
SMBTOE BIT SMB0CN.0 ; SMBUS 0 TIMEOUT ENABLE
|
||||
SMBFTE BIT SMB0CN.1 ; SMBUS 0 FREE TIMER ENABLE
|
||||
AA BIT SMB0CN.2 ; SMBUS 0 ASSERT/ACKNOWLEDGE FLAG
|
||||
SI BIT SMB0CN.3 ; SMBUS 0 INTERRUPT PENDING FLAG
|
||||
STO BIT SMB0CN.4 ; SMBUS 0 STOP FLAG
|
||||
STA BIT SMB0CN.5 ; SMBUS 0 START FLAG
|
||||
ENSMB BIT SMB0CN.6 ; SMBUS 0 ENABLE
|
||||
;
|
||||
; T2CON C8H
|
||||
CPRL2 BIT T2CON.0 ; CAPTURE OR RELOAD SELECT
|
||||
CT2 BIT T2CON.1 ; TIMER OR COUNTER SELECT
|
||||
TR2 BIT T2CON.2 ; TIMER 2 ON/OFF CONTROL
|
||||
EXEN2 BIT T2CON.3 ; TIMER 2 EXTERNAL ENABLE FLAG
|
||||
TCLK BIT T2CON.4 ; TRANSMIT CLOCK FLAG
|
||||
RCLK BIT T2CON.5 ; RECEIVE CLOCK FLAG
|
||||
EXF2 BIT T2CON.6 ; EXTERNAL FLAG
|
||||
TF2 BIT T2CON.7 ; TIMER 2 OVERFLOW FLAG
|
||||
;
|
||||
; PSW D0H
|
||||
P BIT PSW.0 ; ACCUMULATOR PARITY FLAG
|
||||
F1 BIT PSW.1 ; USER FLAG 1
|
||||
OV BIT PSW.2 ; OVERFLOW FLAG
|
||||
RS0 BIT PSW.3 ; REGISTER BANK SELECT 0
|
||||
RS1 BIT PSW.4 ; REGISTER BANK SELECT 1
|
||||
F0 BIT PSW.5 ; USER FLAG 0
|
||||
AC BIT PSW.6 ; AUXILIARY CARRY FLAG
|
||||
CY BIT PSW.7 ; CARRY FLAG
|
||||
;
|
||||
; PCA0CN D8H
|
||||
CCF0 BIT PCA0CN.0 ; PCA 0 MODULE 0 INTERRUPT FLAG
|
||||
CCF1 BIT PCA0CN.1 ; PCA 0 MODULE 1 INTERRUPT FLAG
|
||||
CCF2 BIT PCA0CN.2 ; PCA 0 MODULE 2 INTERRUPT FLAG
|
||||
CCF3 BIT PCA0CN.3 ; PCA 0 MODULE 3 INTERRUPT FLAG
|
||||
CCF4 BIT PCA0CN.4 ; PCA 0 MODULE 4 INTERRUPT FLAG
|
||||
CR BIT PCA0CN.6 ; PCA 0 COUNTER RUN CONTROL BIT
|
||||
CF BIT PCA0CN.7 ; PCA 0 COUNTER OVERFLOW FLAG
|
||||
;
|
||||
; ADC0CN E8H
|
||||
AD0LJST BIT ADC0CN.0 ; ADC 0 RIGHT JUSTIFY DATA BIT
|
||||
AD0WINT BIT ADC0CN.1 ; ADC 0 WINDOW COMPARE INTERRUPT FLAG
|
||||
AD0STM0 BIT ADC0CN.2 ; ADC 0 START OF CONVERSION MODE BIT 0
|
||||
AD0STM1 BIT ADC0CN.3 ; ADC 0 START OF CONVERSION MODE BIT 1
|
||||
AD0BUSY BIT ADC0CN.4 ; ADC 0 BUSY FLAG
|
||||
AD0INT BIT ADC0CN.5 ; ADC 0 CONVERISION COMPLETE INTERRUPT FLAG
|
||||
AD0TM BIT ADC0CN.6 ; ADC 0 TRACK MODE
|
||||
AD0EN BIT ADC0CN.7 ; ADC 0 ENABLE
|
||||
;
|
||||
; SPI0CN F8H
|
||||
SPIEN BIT SPI0CN.0 ; SPI 0 SPI ENABLE
|
||||
MSTEN BIT SPI0CN.1 ; SPI 0 MASTER ENABLE
|
||||
SLVSEL BIT SPI0CN.2 ; SPI 0 SLAVE SELECT
|
||||
TXBSY BIT SPI0CN.3 ; SPI 0 TX BUSY FLAG
|
||||
RXOVRN BIT SPI0CN.4 ; SPI 0 RX OVERRUN FLAG
|
||||
MODF BIT SPI0CN.5 ; SPI 0 MODE FAULT FLAG
|
||||
WCOL BIT SPI0CN.6 ; SPI 0 WRITE COLLISION FLAG
|
||||
SPIF BIT SPI0CN.7 ; SPI 0 INTERRUPT FLAG
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user