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