scc

A fork of https://git.simple-cc.org/scc/ for Qute

git clone https://git.8pit.net/scc.git

 1enum 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
64enum 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};