1enum args {2 AREG_AF = AMAX,3 AREG_A,4 AREG_F,56 AREG_BC,7 AREG_B,8 AREG_C,910 AREG_HL,11 AREG_H,12 AREG_L,1314 AREG_DE,15 AREG_D,16 AREG_E,1718 AREG_IX,19 AREG_IXL,20 AREG_IXH,2122 AREG_IY,23 AREG_IYL,24 AREG_IYH,2526 AREG_R,27 AREG_I,28 AREG_AF_,29 AREG_SP,3031 AREG_NZ,32 AREG_Z,33 AREG_NC,34 AREG_PO,35 AREG_PE,36 AREG_P,37 AREG_M,3839 AREG_RCLASS, /* register class for B, C, D, E, H, L and A */40 AREG_PCLASS, /* register class for B, C, D, E, IXH, IXL and A */41 AREG_QCLASS, /* register class for B, C, D, E, IYH, IYL and A */42 AREG_DDCLASS, /* register class for BC, DE, HL and SP */43 AREG_QQCLASS, /* register class for BC, DE, HL and AF */44 AREG_PPCLASS, /* register class for BC, DE, IX and SP */45 AREG_RRCLASS, /* register class for BC, DE, IY and SP */46 AREG_SSCLASS, /* flag class for C, NC, Z, NZ */47 AREG_CCCLASS, /* flag class for NZ, Z, NC, C, PO, PE, P, M */4849 AINDEX_IX, /* (IX+d) */50 AINDEX_IY, /* (IX+d) */5152 AINDER_HL, /* (HL) */53 AINDER_DE, /* (DE) */54 AINDER_BC, /* (BC) */55 AINDER_SP, /* (SP) */56 AINDER_C, /* (C) */57 AINDER_IX, /* (IX) */58 AINDER_IY, /* (IY) */5960 AZERO, /* a literal 0 */61 ARST, /* 0h, 08h, 10h, 18h, 20h, 28h, 30h, 38h */62};6364enum class {65 RCLASS = 1 << 0,66 PCLASS = 1 << 1,67 QCLASS = 1 << 2,68 DDCLASS = 1 << 3,69 QQCLASS = 1 << 4,70 PPCLASS = 1 << 5,71 RRCLASS = 1 << 6,72 CCCLASS = 1 << 7,73 SSCLASS = 1 << 8,74};