Imported Upstream version 2.9.0
[debian/cc1111] / as / hc08 / m6808.h
1 /* m6808.h
2
3    Copyright (C) 1989-1995 Alan R. Baldwin
4    721 Berkeley St., Kent, Ohio 44240
5
6 This program is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the
8 Free Software Foundation; either version 3, or (at your option) any
9 later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
18
19 /*)BUILD
20         $(PROGRAM) =    AS6808
21         $(INCLUDE) = {
22                 ASM.H
23                 M6808.H
24         }
25         $(FILES) = {
26                 M08EXT.C
27                 M08MCH.C
28                 M08ADR.C
29                 M08PST.C
30                 ASMAIN.C
31                 ASLEX.C
32                 ASSYM.C
33                 ASSUBR.C
34                 ASEXPR.C
35                 ASDATA.C
36                 ASLIST.C
37                 ASOUT.C
38         }
39         $(STACK) = 3000
40 */
41
42 struct adsym
43 {
44         char    a_str[4];       /* addressing string */
45         int     a_val;          /* addressing mode value */
46 };
47
48 /*
49  * Addressing types
50  */
51 #define S_IMMED 30
52 #define S_DIR   31
53 #define S_EXT   32
54 #define S_IX    33
55 #define S_IXP   34
56 #define S_IX1   35
57 #define S_IX1P  36
58 #define S_IX2   37
59 #define S_IX2P  38
60 #define S_IS    39
61 #define S_SP1   40
62 #define S_SP2   41
63 #define S_A     42
64 #define S_X     43
65 #define S_S     44
66 #define S_XP    45
67
68 /*
69  * Instruction types
70  */
71 #define S_INH   60
72 #define S_BRA   61
73 #define S_TYP1  62
74 #define S_TYP2  63
75 #define S_TYP3  64
76 #define S_TYP4  65
77 #define S_TYPAI 66
78 #define S_TYPHX 67
79 #define S_CBEQ  68
80 #define S_CQAX  69
81 #define S_DBNZ  70
82 #define S_DZAX  71
83 #define S_MOV   72
84
85 /*
86  * Set Direct Pointer
87  */
88 #define S_SDP   80
89
90
91         /* machine dependent functions */
92
93 #ifdef  OTHERSYSTEM
94         
95         /* m08adr.c */
96 extern  struct  adsym   axs[];
97 extern  int             addr(struct expr *esp);
98 extern  int             admode(struct adsym *sp);
99 extern  int             any(int c, char *str);
100 extern  int             srch(char *str);
101
102         /* m08mch.c */
103 extern  VOID            machine(struct mne *mp);
104 extern  int             chkindx(struct expr *exp);
105 extern  int             mchpcr(struct expr *esp);
106 extern  VOID            minit(void);
107 extern  int             comma(void);
108
109 #else
110
111         /* m08adr.c */
112 extern  struct  adsym   axs[];
113 extern  int             addr();
114 extern  int             admode();
115 extern  int             any();
116 extern  int             srch();
117
118         /* m08mch.c */
119 extern  VOID            machine();
120 extern  int             chkindx();
121 extern  int             mchpcr();
122 extern  VOID            minit();
123 extern  int             comma();
124
125 #endif
126