Home
       proc.h - scc - simple c99 compiler
  HTML git clone git://git.simple-cc.org/scc
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
       proc.h (1375B)
       ---
            1 enum args {
            2         AREG_AF = AMAX,
            3         AREG_A,
            4         AREG_F,
            5 
            6         AREG_BC,
            7         AREG_B,
            8         AREG_C,
            9 
           10         AREG_HL,
           11         AREG_H,
           12         AREG_L,
           13 
           14         AREG_DE,
           15         AREG_D,
           16         AREG_E,
           17 
           18         AREG_IX,
           19         AREG_IXL,
           20         AREG_IXH,
           21 
           22         AREG_IY,
           23         AREG_IYL,
           24         AREG_IYH,
           25 
           26         AREG_R,
           27         AREG_I,
           28         AREG_AF_,
           29         AREG_SP,
           30 
           31         AREG_NZ,
           32         AREG_Z,
           33         AREG_NC,
           34         AREG_PO,
           35         AREG_PE,
           36         AREG_P,
           37         AREG_M,
           38 
           39         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 */
           48 
           49         AINDEX_IX,    /* (IX+d) */
           50         AINDEX_IY,    /* (IX+d) */
           51 
           52         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) */
           59 
           60         AZERO,         /* a literal 0 */
           61         ARST,          /* 0h, 08h, 10h, 18h, 20h, 28h, 30h, 38h */
           62 };
           63 
           64 enum 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 };