1 #ifndef _DJGPP_INCLUDE_DIS_CST_H
2 #define _DJGPP_INCLUDE_DIS_CST_H
3 
4 #include "cleantyp.h"
5 #include "followop.h"
6 
7 /* addressing modes: */
8 
9 #define AM_IMPL      0   /* implicit              */
10 #define AM_IMMED     1   /* immediate             */
11 #define AM_REL       2   /* relative              */
12 #define AM_ZP        3   /* zero page             */
13 #define AM_ZPX       4   /* zero page, x          */
14 #define AM_ZPY       5   /* zero page, y          */
15 #define AM_ZPIND     6   /* zero page indirect    */
16 #define AM_ZPINDX    7   /* zero page indirect, x */
17 #define AM_ZPINDY    8   /* zero page indirect, y */
18 #define AM_ABS       9   /* absolute              */
19 #define AM_ABSX     10   /* absolute, x           */
20 #define AM_ABSY     11   /* absolute, y           */
21 #define AM_ABSIND   12   /* absolute indirect     */
22 #define AM_ABSINDX  13   /* absolute indirect     */
23 #define AM_PSREL    14   /* pseudo-relative       */
24 #define AM_TST_ZP   15   /* special 'TST' addressing mode  */
25 #define AM_TST_ABS  16   /* special 'TST' addressing mode  */
26 #define AM_TST_ZPX  17   /* special 'TST' addressing mode  */
27 #define AM_TST_ABSX 18   /* special 'TST' addressing mode  */
28 #define AM_XFER     19   /* special 7-byte transfer addressing mode  */
29 
30 #define MAX_MODES  (AM_XFER + 1)
31 
32 /* addressing mode information: */
33 
34 typedef struct mode_debug {
35   unsigned char size;
36   void (*func)(char *, long int, unsigned char *, char *);
37 } mode_struct_debug;
38 
39 /* now define table contents: */
40 
41 typedef struct op_debug {
42    int addr_mode;
43    char * opname;
44    UInt16 (*following_IP) (UInt16);
45 } operation_debug;
46 
47 extern operation_debug optable_debug[256];
48 
49 extern mode_struct_debug addr_info_debug[MAX_MODES];
50 
51 #endif
52