shithub: scc

Download patch

ref: d3a48f9fda0c555fec8d563e0155b7b915438377
parent: f59a05d8213d214ff6d8b63f870936b9217dd0ea
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Thu Jan 18 11:09:55 EST 2018

Use [] instead of () for indirection

It removes all the problems with () being ambigous. It will cause pain to all
z80 programmers, like me :(

--- a/as/expr.c
+++ b/as/expr.c
@@ -389,10 +389,10 @@
 		np->addr = addr;
 		next();
 		break;
-	case '(':
+	case '[':
 		next();
 		np = or();
-		expect(')');
+		expect(']');
 		np = content(np);
 		break;
 	default:
--- a/as/target/z80/test.s
+++ b/as/target/z80/test.s
@@ -1,6 +1,6 @@
 	NOP		/ 00
 	LD	%BC,64	/ 01 40 00
-	LD	(%BC),%A	/ 02
+	LD	[%BC],%A	/ 02
 	INC	%BC	/ 03
 	INC	%B	/ 04
 	DEC	%B	/ 05
@@ -8,7 +8,7 @@
 	RLCA		/ 07
 	EX	%AF,%AF'	/ 08
 	ADD	%HL,%BC	/ 09
-	LD	%A,(%BC)	/ 0A
+	LD	%A,[%BC]	/ 0A
 	DEC	%BC	/ 0B
 	INC	%C	/ 0C
 	DEC	%C	/ 0D
@@ -16,7 +16,7 @@
 	RRCA		/ 0F
 L1:	DJNZ	L1	/ 10 02
 	LD	%DE,32	/ 11 20 00
-	LD	(%DE),%A	/ 12
+	LD	[%DE],%A	/ 12
 	INC	%DE	/ 13
 	INC	%D	/ 14
 	DEC	%D	/ 15
@@ -24,7 +24,7 @@
 	RLA		/ 17
 L2:	JR	L2	/ 18 02
 	ADD	%HL,%DE	/ 19
-	LD	%A,(%DE)	/ 1A
+	LD	%A,[%DE]	/ 1A
 	DEC	%DE	/ 1B
 	INC	%E	/ 1C
 	DEC	%E	/ 1D
@@ -32,7 +32,7 @@
 	RRA		/ 1F
 L3:	JR	%NZ,L3	/ 20 02
 	LD	%HL,32	/ 21 20 00
-	LD	(32768),%HL	/ 22 00 80
+	LD	[32768],%HL	/ 22 00 80
 	INC	%HL	/ 23
 	INC	%H	/ 24
 	DEC	%H	/ 25
@@ -40,7 +40,7 @@
 	DAA		/ 27
 L4:	JR	%Z,L4	/ 28 02
 	ADD	%HL,%HL	/ 29
-	LD	%HL, (16384)	/ 2A 00 40
+	LD	%HL, [16384]	/ 2A 00 40
 	DEC	%HL	/ 2B
 	INC	%L	/ 2C
 	DEC	%L	/ 2D
@@ -48,15 +48,15 @@
 	CPL		/ 2F
 L5:	JR	%NC,L5	/ 30 02
 	LD	%SP,64	/ 31 40 00
-	LD	(32768),%A	/ 32 00 80
+	LD	[32768],%A	/ 32 00 80
 	INC	%SP	/ 33
-	INC	(%HL)	/ 34
-	DEC	(%HL)	/ 35
-	LD	(%HL),32	/ 36 20
+	INC	[%HL]	/ 34
+	DEC	[%HL]	/ 35
+	LD	[%HL],32	/ 36 20
 	SCF		/ 37
 L6:	JR	%C,L6	/ 38 02
 	ADD	%HL,%SP	/ 39
-	LD	%A,(16384)	/ 3A 00 40
+	LD	%A,[16384]	/ 3A 00 40
 	DEC	%SP	/ 3B
 	INC	%A	/ 3C
 	DEC	%A	/ 3D
@@ -68,7 +68,7 @@
 	LD	%B,%E	/ 43
 	LD	%B,%H	/ 44
 	LD	%B,%L	/ 45
-	LD	%B,(%HL)	/ 46
+	LD	%B,[%HL]	/ 46
 	LD	%B,%A	/ 47
 	LD	%C,%B	/ 48
 	LD	%C,%C	/ 49
@@ -76,7 +76,7 @@
 	LD	%C,%E	/ 4B
 	LD	%C,%H	/ 4C
 	LD	%C,%L	/ 4D
-	LD	%C,(%HL)	/ 4E
+	LD	%C,[%HL]	/ 4E
 	LD	%C,%A	/ 4F
 	LD	%D,%B	/ 50
 	LD	%D,%C	/ 51
@@ -84,7 +84,7 @@
 	LD	%D,%E	/ 53
 	LD	%D,%H	/ 54
 	LD	%D,%L	/ 55
-	LD	%D,(%HL)	/ 56
+	LD	%D,[%HL]	/ 56
 	LD	%D,%A	/ 57
 	LD	%E,%B	/ 58
 	LD	%E,%C	/ 59
@@ -92,7 +92,7 @@
 	LD	%E,%E	/ 5B
 	LD	%E,%H	/ 5C
 	LD	%E,%L	/ 5D
-	LD	%E,(%HL)	/ 5E
+	LD	%E,[%HL]	/ 5E
 	LD	%E,%A	/ 5F
 	LD	%H,%B	/ 60
 	LD	%H,%C	/ 61
@@ -100,7 +100,7 @@
 	LD	%H,%E	/ 63
 	LD	%H,%H	/ 64
 	LD	%H,%L	/ 65
-	LD	%H,(%HL)	/ 66
+	LD	%H,[%HL]	/ 66
 	LD	%H,%A	/ 67
 	LD	%L,%B	/ 68
 	LD	%L,%C	/ 69
@@ -108,16 +108,16 @@
 	LD	%L,%E	/ 6B
 	LD	%L,%H	/ 6C
 	LD	%L,%L	/ 6D
-	LD	%L,(%HL)	/ 6E
+	LD	%L,[%HL]	/ 6E
 	LD	%L,%A	/ 6F
-	LD	(%HL),%B	/ 70
-	LD	(%HL),%C	/ 71
-	LD	(%HL),%D	/ 72
-	LD	(%HL),%E	/ 73
-	LD	(%HL),%H	/ 74
-	LD	(%HL),%L	/ 75
+	LD	[%HL],%B	/ 70
+	LD	[%HL],%C	/ 71
+	LD	[%HL],%D	/ 72
+	LD	[%HL],%E	/ 73
+	LD	[%HL],%H	/ 74
+	LD	[%HL],%L	/ 75
 	HALT		/ 76
-	LD	(%HL),%A	/ 77
+	LD	[%HL],%A	/ 77
 	LD	%A,%B	/ 78
 	LD	%A,%C	/ 79
 	LD	%A,%D	/ 7A
@@ -124,7 +124,7 @@
 	LD	%A,%E	/ 7B
 	LD	%A,%H	/ 7C
 	LD	%A,%L	/ 7D
-	LD	%A,(%HL)	/ 7E
+	LD	%A,[%HL]	/ 7E
 	LD	%A,%A	/ 7F
 	ADD	%A,%B	/ 80
 	ADD	%A,%C	/ 81
@@ -132,7 +132,7 @@
 	ADD	%A,%E	/ 83
 	ADD	%A,%H	/ 84
 	ADD	%A,%L	/ 85
-	ADD	%A,(%HL)	/ 86
+	ADD	%A,[%HL]	/ 86
 	ADD	%A,%A	/ 87
 	ADC	%A,%B	/ 88
 	ADC	%A,%C	/ 89
@@ -140,7 +140,7 @@
 	ADC	%A,%E	/ 8B
 	ADC	%A,%H	/ 8C
 	ADC	%A,%L	/ 8D
-	ADC	%A,(%HL)	/ 8E
+	ADC	%A,[%HL]	/ 8E
 	ADC	%A,%A	/ 8F
 	SUB	%A,%B	/ 90
 	SUB	%A,%C	/ 91
@@ -148,7 +148,7 @@
 	SUB	%A,%E	/ 93
 	SUB	%A,%H	/ 94
 	SUB	%A,%L	/ 95
-	SUB	%A,(%HL)	/ 96
+	SUB	%A,[%HL]	/ 96
 	SUB	%A,%A	/ 97
 	SBC	%A,%B	/ 98
 	SBC	%A,%C	/ 99
@@ -156,7 +156,7 @@
 	SBC	%A,%E	/ 9B
 	SBC	%A,%H	/ 9C
 	SBC	%A,%L	/ 9D
-	SBC	%A,(%HL)	/ 9E
+	SBC	%A,[%HL]	/ 9E
 	SBC	%A,%A	/ 9F
 	AND	%A,%B	/ A0
 	AND	%A,%C	/ A1
@@ -164,7 +164,7 @@
 	AND	%A,%E	/ A3
 	AND	%A,%H	/ A4
 	AND	%A,%L	/ A5
-	AND	%A,(%HL)	/ A6
+	AND	%A,[%HL]	/ A6
 	AND	%A,%A	/ A7
 	XOR	%A,%B	/ A8
 	XOR	%A,%C	/ A9
@@ -172,7 +172,7 @@
 	XOR	%A,%E	/ AB
 	XOR	%A,%H	/ AC
 	XOR	%A,%L	/ AD
-	XOR	%A,(%HL)	/ AE
+	XOR	%A,[%HL]	/ AE
 	XOR	%A,%A	/ AF
 	OR	%A,%B	/ B0
 	OR	%A,%C	/ B1
@@ -180,7 +180,7 @@
 	OR	%A,%E	/ B3
 	OR	%A,%H	/ B4
 	OR	%A,%L	/ B5
-	OR	%A,(%HL)	/ B6
+	OR	%A,[%HL]	/ B6
 	OR	%A,%A	/ B7
 	CP	%A,%B	/ B8
 	CP	%A,%C	/ B9
@@ -188,7 +188,7 @@
 	CP	%A,%E	/ BB
 	CP	%A,%H	/ BC
 	CP	%A,%L	/ BD
-	CP	%A,(%HL)	/ BE
+	CP	%A,[%HL]	/ BE
 	CP	%A,%A	/ BF
 	RET	%NZ	/ C0
 	POP	%BC	/ C1
@@ -207,7 +207,7 @@
 	RLC	%E	/ CB 03
 	RLC	%H	/ CB 04
 	RLC	%L	/ CB 05
-	RLC	(%HL)	/ CB 06
+	RLC	[%HL]	/ CB 06
 	RLC	%A	/ CB 07
 	RRC	%B	/ CB 08
 	RRC	%C	/ CB 09
@@ -215,7 +215,7 @@
 	RRC	%E	/ CB 0B
 	RRC	%H	/ CB 0C
 	RRC	%L	/ CB 0D
-	RRC	(%HL)	/ CB 0E
+	RRC	[%HL]	/ CB 0E
 	RRC	%A	/ CB 0F
 	RL	%B	/ CB 10
 	RL	%C	/ CB 11
@@ -223,7 +223,7 @@
 	RL	%E	/ CB 13
 	RL	%H	/ CB 14
 	RL	%L	/ CB 15
-	RL	(%HL)	/ CB 16
+	RL	[%HL]	/ CB 16
 	RL	%A	/ CB 17
 	RR	%B	/ CB 18
 	RR	%C	/ CB 19
@@ -231,7 +231,7 @@
 	RR	%E	/ CB 1B
 	RR	%H	/ CB 1C
 	RR	%L	/ CB 1D
-	RR	(%HL)	/ CB 1E
+	RR	[%HL]	/ CB 1E
 	RR	%A	/ CB 1F
 	SLA	%B	/ CB 20
 	SLA	%C	/ CB 21
@@ -239,7 +239,7 @@
 	SLA	%E	/ CB 23
 	SLA	%H	/ CB 24
 	SLA	%L	/ CB 25
-	SLA	(%HL)	/ CB 26
+	SLA	[%HL]	/ CB 26
 	SLA	%A	/ CB 27
 	SRA	%B	/ CB 28
 	SRA	%C	/ CB 29
@@ -247,7 +247,7 @@
 	SRA	%E	/ CB 2B
 	SRA	%H	/ CB 2C
 	SRA	%L	/ CB 2D
-	SRA	(%HL)	/ CB 2E
+	SRA	[%HL]	/ CB 2E
 	SRA	%A	/ CB 2F
 	SLL	%B	/ CB 30
 	SLL	%C	/ CB 31
@@ -255,7 +255,7 @@
 	SLL	%E	/ CB 33
 	SLL	%H	/ CB 34
 	SLL	%L	/ CB 35
-	SLL	(%HL)	/ CB 36
+	SLL	[%HL]	/ CB 36
 	SLL	%A	/ CB 37
 	SRL	%B	/ CB 38
 	SRL	%C	/ CB 39
@@ -263,7 +263,7 @@
 	SRL	%E	/ CB 3B
 	SRL	%H	/ CB 3C
 	SRL	%L	/ CB 3D
-	SRL	(%HL)	/ CB 3E
+	SRL	[%HL]	/ CB 3E
 	SRL	%A	/ CB 3F
 	BIT	0,%B	/ CB 40
 	BIT	0,%C	/ CB 41
@@ -271,7 +271,7 @@
 	BIT	0,%E	/ CB 43
 	BIT	0,%H	/ CB 44
 	BIT	0,%L	/ CB 45
-	BIT	0,(%HL)	/ CB 46
+	BIT	0,[%HL]	/ CB 46
 	BIT	0,%A	/ CB 47
 	BIT	1,%B	/ CB 48
 	BIT	1,%C	/ CB 49
@@ -279,7 +279,7 @@
 	BIT	1,%E	/ CB 4B
 	BIT	1,%H	/ CB 4C
 	BIT	1,%L	/ CB 4D
-	BIT	1,(%HL)	/ CB 4E
+	BIT	1,[%HL]	/ CB 4E
 	BIT	1,%A	/ CB 4F
 	BIT	2,%B	/ CB 50
 	BIT	2,%C	/ CB 51
@@ -287,7 +287,7 @@
 	BIT	2,%E	/ CB 53
 	BIT	2,%H	/ CB 54
 	BIT	2,%L	/ CB 55
-	BIT	2,(%HL)	/ CB 56
+	BIT	2,[%HL]	/ CB 56
 	BIT	2,%A	/ CB 57
 	BIT	3,%B	/ CB 58
 	BIT	3,%C	/ CB 59
@@ -295,7 +295,7 @@
 	BIT	3,%E	/ CB 5B
 	BIT	3,%H	/ CB 5C
 	BIT	3,%L	/ CB 5D
-	BIT	3,(%HL)	/ CB 5E
+	BIT	3,[%HL]	/ CB 5E
 	BIT	3,%A	/ CB 5F
 	BIT	4,%B	/ CB 60
 	BIT	4,%C	/ CB 61
@@ -303,7 +303,7 @@
 	BIT	4,%E	/ CB 63
 	BIT	4,%H	/ CB 64
 	BIT	4,%L	/ CB 65
-	BIT	4,(%HL)	/ CB 66
+	BIT	4,[%HL]	/ CB 66
 	BIT	4,%A	/ CB 67
 	BIT	5,%B	/ CB 68
 	BIT	5,%C	/ CB 69
@@ -311,7 +311,7 @@
 	BIT	5,%E	/ CB 6B
 	BIT	5,%H	/ CB 6C
 	BIT	5,%L	/ CB 6D
-	BIT	5,(%HL)	/ CB 6E
+	BIT	5,[%HL]	/ CB 6E
 	BIT	5,%A	/ CB 6F
 	BIT	6,%B	/ CB 70
 	BIT	6,%C	/ CB 71
@@ -319,7 +319,7 @@
 	BIT	6,%E	/ CB 73
 	BIT	6,%H	/ CB 74
 	BIT	6,%L	/ CB 75
-	BIT	6,(%HL)	/ CB 76
+	BIT	6,[%HL]	/ CB 76
 	BIT	6,%A	/ CB 77
 	BIT	7,%B	/ CB 78
 	BIT	7,%C	/ CB 79
@@ -327,7 +327,7 @@
 	BIT	7,%E	/ CB 7B
 	BIT	7,%H	/ CB 7C
 	BIT	7,%L	/ CB 7D
-	BIT	7,(%HL)	/ CB 7E
+	BIT	7,[%HL]	/ CB 7E
 	BIT	7,%A	/ CB 7F
 	RES	0,%B	/ CB 80
 	RES	0,%C	/ CB 81
@@ -335,7 +335,7 @@
 	RES	0,%E	/ CB 83
 	RES	0,%H	/ CB 84
 	RES	0,%L	/ CB 85
-	RES	0,(%HL)	/ CB 86
+	RES	0,[%HL]	/ CB 86
 	RES	0,%A	/ CB 87
 	RES	1,%B	/ CB 88
 	RES	1,%C	/ CB 89
@@ -343,7 +343,7 @@
 	RES	1,%E	/ CB 8B
 	RES	1,%H	/ CB 8C
 	RES	1,%L	/ CB 8D
-	RES	1,(%HL)	/ CB 8E
+	RES	1,[%HL]	/ CB 8E
 	RES	1,%A	/ CB 8F
 	RES	2,%B	/ CB 90
 	RES	2,%C	/ CB 91
@@ -351,7 +351,7 @@
 	RES	2,%E	/ CB 93
 	RES	2,%H	/ CB 94
 	RES	2,%L	/ CB 95
-	RES	2,(%HL)	/ CB 96
+	RES	2,[%HL]	/ CB 96
 	RES	2,%A	/ CB 97
 	RES	3,%B	/ CB 98
 	RES	3,%C	/ CB 99
@@ -359,7 +359,7 @@
 	RES	3,%E	/ CB 9B
 	RES	3,%H	/ CB 9C
 	RES	3,%L	/ CB 9D
-	RES	3,(%HL)	/ CB 9E
+	RES	3,[%HL]	/ CB 9E
 	RES	3,%A	/ CB 9F
 	RES	4,%B	/ CB A0
 	RES	4,%C	/ CB A1
@@ -367,7 +367,7 @@
 	RES	4,%E	/ CB A3
 	RES	4,%H	/ CB A4
 	RES	4,%L	/ CB A5
-	RES	4,(%HL)	/ CB A6
+	RES	4,[%HL]	/ CB A6
 	RES	4,%A	/ CB A7
 	RES	5,%B	/ CB A8
 	RES	5,%C	/ CB A9
@@ -375,7 +375,7 @@
 	RES	5,%E	/ CB AB
 	RES	5,%H	/ CB AC
 	RES	5,%L	/ CB AD
-	RES	5,(%HL)	/ CB AE
+	RES	5,[%HL]	/ CB AE
 	RES	5,%A	/ CB AF
 	RES	6,%B	/ CB B0
 	RES	6,%C	/ CB B1
@@ -383,7 +383,7 @@
 	RES	6,%E	/ CB B3
 	RES	6,%H	/ CB B4
 	RES	6,%L	/ CB B5
-	RES	6,(%HL)	/ CB B6
+	RES	6,[%HL]	/ CB B6
 	RES	6,%A	/ CB B7
 	RES	7,%B	/ CB B8
 	RES	7,%C	/ CB B9
@@ -391,7 +391,7 @@
 	RES	7,%E	/ CB BB
 	RES	7,%H	/ CB BC
 	RES	7,%L	/ CB BD
-	RES	7,(%HL)	/ CB BE
+	RES	7,[%HL]	/ CB BE
 	RES	7,%A	/ CB BF
 	SET	0,%B	/ CB C0
 	SET	0,%C	/ CB C1
@@ -399,7 +399,7 @@
 	SET	0,%E	/ CB C3
 	SET	0,%H	/ CB C4
 	SET	0,%L	/ CB C5
-	SET	0,(%HL)	/ CB C6
+	SET	0,[%HL]	/ CB C6
 	SET	0,%A	/ CB C7
 	SET	1,%B	/ CB C8
 	SET	1,%C	/ CB C9
@@ -407,7 +407,7 @@
 	SET	1,%E	/ CB CB
 	SET	1,%H	/ CB CC
 	SET	1,%L	/ CB CD
-	SET	1,(%HL)	/ CB CE
+	SET	1,[%HL]	/ CB CE
 	SET	1,%A	/ CB CF
 	SET	2,%B	/ CB D0
 	SET	2,%C	/ CB D1
@@ -415,7 +415,7 @@
 	SET	2,%E	/ CB D3
 	SET	2,%H	/ CB D4
 	SET	2,%L	/ CB D5
-	SET	2,(%HL)	/ CB D6
+	SET	2,[%HL]	/ CB D6
 	SET	2,%A	/ CB D7
 	SET	3,%B	/ CB D8
 	SET	3,%C	/ CB D9
@@ -423,7 +423,7 @@
 	SET	3,%E	/ CB DB
 	SET	3,%H	/ CB DC
 	SET	3,%L	/ CB DD
-	SET	3,(%HL)	/ CB DE
+	SET	3,[%HL]	/ CB DE
 	SET	3,%A	/ CB DF
 	SET	4,%B	/ CB E0
 	SET	4,%C	/ CB E1
@@ -431,7 +431,7 @@
 	SET	4,%E	/ CB E3
 	SET	4,%H	/ CB E4
 	SET	4,%L	/ CB E5
-	SET	4,(%HL)	/ CB E6
+	SET	4,[%HL]	/ CB E6
 	SET	4,%A	/ CB E7
 	SET	5,%B	/ CB E8
 	SET	5,%C	/ CB E9
@@ -439,7 +439,7 @@
 	SET	5,%E	/ CB EB
 	SET	5,%H	/ CB EC
 	SET	5,%L	/ CB ED
-	SET	5,(%HL)	/ CB EE
+	SET	5,[%HL]	/ CB EE
 	SET	5,%A	/ CB EF
 	SET	6,%B	/ CB F0
 	SET	6,%C	/ CB F1
@@ -447,7 +447,7 @@
 	SET	6,%E	/ CB F3
 	SET	6,%H	/ CB F4
 	SET	6,%L	/ CB F5
-	SET	6,(%HL)	/ CB F6
+	SET	6,[%HL]	/ CB F6
 	SET	6,%A	/ CB F7
 	SET	7,%B	/ CB F8
 	SET	7,%C	/ CB F9
@@ -455,7 +455,7 @@
 	SET	7,%E	/ CB FB
 	SET	7,%H	/ CB FC
 	SET	7,%L	/ CB FD
-	SET	7,(%HL)	/ CB FE
+	SET	7,[%HL]	/ CB FE
 	SET	7,%A	/ CB FF
 	CALL	%Z,16384	/ CC 00 40
 	CALL	16384	/ CD 00 40
@@ -464,7 +464,7 @@
 	RET	%NC	/ D0
 	POP	%DE	/ D1
 	JP	%NC,16384	/ D2 00 40
-	OUT	(153),%A	/ D3 99
+	OUT	[153],%A	/ D3 99
 	CALL	%NC,32768	/ D4 00 80
 	PUSH	%DE	/ D5
 	SUB	%A,32	/ D6 20
@@ -472,38 +472,38 @@
 	RET	%C	/ D8
 	EXX		/ D9
 	JP	%C,16384	/ DA 00 40
-	IN	%A,(153)	/ DB 99
+	IN	%A,[153]	/ DB 99
 	CALL	%C,32768	/ DC 00 80
 	ADD	%IX,%BC	/ DD 09
 	ADD	%IX,%DE	/ DD 19
 	LD	%IX,64	/ DD 21 40 00
-	LD	(32768),%IX	/ DD 22 00 80
+	LD	[32768],%IX	/ DD 22 00 80
 	INC	%IX	/ DD 23
 	INC	%IXH	/ DD 24
 	DEC	%IXH	/ DD 25
 	LD	%IXH,32	/ DD 26 20
 	ADD	%IX,%IX	/ DD 29
-	LD	%IX,(16384)	/ DD 2A 00 40
+	LD	%IX,[16384]	/ DD 2A 00 40
 	DEC	%IX	/ DD 2B
 	INC	%IXL	/ DD 2C
 	DEC	%IXL	/ DD 2D
 	LD	%IXL,64	/ DD 2E 40
-	INC	(%IX + 32)	/ DD 34 20
-	DEC	(%IX + 16)	/ DD 35 10
-	LD	(%IX + 64),128	/ DD 36 40 80
+	INC	[%IX + 32]	/ DD 34 20
+	DEC	[%IX + 16]	/ DD 35 10
+	LD	[%IX + 64],128	/ DD 36 40 80
 	ADD	%IX,%SP	/ DD 39
 	LD	%B,%IXH	/ DD 44
 	LD	%B,%IXL	/ DD 45
-	LD	%B,(%IX + 32)	/ DD 46 20
+	LD	%B,[%IX + 32]	/ DD 46 20
 	LD	%C,%IXH	/ DD 4C
 	LD	%C,%IXL	/ DD 4D
-	LD	%C,(%IX + 48)	/ DD 4E 30
+	LD	%C,[%IX + 48]	/ DD 4E 30
 	LD	%D,%IXH	/ DD 54
 	LD	%D,%IXL	/ DD 55
-	LD	%D,(%IX + 32)	/ DD 56 20
+	LD	%D,[%IX + 32]	/ DD 56 20
 	LD	%E,%IXH	/ DD 5C
 	LD	%E,%IXL	/ DD 5D
-	LD	%E,(%IX + 64)	/ DD 5E 40
+	LD	%E,[%IX + 64]	/ DD 5E 40
 	LD	%IXH,%B	/ DD 60
 	LD	%IXH,%C	/ DD 61
 	LD	%IXH,%D	/ DD 62
@@ -510,7 +510,7 @@
 	LD	%IXH,%E	/ DD 63
 	LD	%IXH,%IXH	/ DD 64
 	LD	%IXH,%IXL	/ DD 65
-	LD	%H,(%IX + 16)	/ DD 66 10
+	LD	%H,[%IX + 16]	/ DD 66 10
 	LD	%IXH,%A	/ DD 67
 	LD	%IXL,%B	/ DD 68
 	LD	%IXL,%C	/ DD 69
@@ -518,246 +518,246 @@
 	LD	%IXL,%E	/ DD 6B
 	LD	%IXL,%IXH	/ DD 6C
 	LD	%IXL,%IXL	/ DD 6D
-	LD	%L,(%IX + 48)	/ DD 6E 30
+	LD	%L,[%IX + 48]	/ DD 6E 30
 	LD	%IXL,%A	/ DD 6F
-	LD	(%IX + 64),%B	/ DD 70 40
-	LD	(%IX + 16),%C	/ DD 71 10
-	LD	(%IX + 32),%D	/ DD 72 20
-	LD	(%IX + 48),%E	/ DD 73 30
-	LD	(%IX + 16),%H	/ DD 74 10
-	LD	(%IX + 32),%L	/ DD 75 20
-	LD	(%IX + 48),%A	/ DD 77 30
+	LD	[%IX + 64],%B	/ DD 70 40
+	LD	[%IX + 16],%C	/ DD 71 10
+	LD	[%IX + 32],%D	/ DD 72 20
+	LD	[%IX + 48],%E	/ DD 73 30
+	LD	[%IX + 16],%H	/ DD 74 10
+	LD	[%IX + 32],%L	/ DD 75 20
+	LD	[%IX + 48],%A	/ DD 77 30
 	LD	%A,%IXH	/ DD 7C
 	LD	%A,%IXL	/ DD 7D
-	LD	%A,(%IX + 16)	/ DD 7E 10
+	LD	%A,[%IX + 16]	/ DD 7E 10
 	ADD	%A,%IXH	/ DD 84
 	ADD	%A,%IXL	/ DD 85
-	ADD	%A,(%IX + 32)	/ DD 86 20
+	ADD	%A,[%IX + 32]	/ DD 86 20
 	ADC	%A,%IXH	/ DD 8C
 	ADC	%A,%IXL	/ DD 8D
-	ADC	%A,(%IX + 48)	/ DD 8E 30
+	ADC	%A,[%IX + 48]	/ DD 8E 30
 	SUB	%A,%IXH	/ DD 94
 	SUB	%A,%IXL	/ DD 95
-	SUB	%A,(%IX + 16)	/ DD 96 10
+	SUB	%A,[%IX + 16]	/ DD 96 10
 	SBC	%A,%IXH	/ DD 9C
 	SBC	%A,%IXL	/ DD 9D
-	SBC	%A,(%IX + 32)	/ DD 9E 20
+	SBC	%A,[%IX + 32]	/ DD 9E 20
 	AND	%A,%IXH	/ DD A4
 	AND	%A,%IXL	/ DD A5
-	AND	%A,(%IX + 48)	/ DD A6 30
+	AND	%A,[%IX + 48]	/ DD A6 30
 	XOR	%A,%IXH	/ DD AC
 	XOR	%A,%IXL	/ DD AD
-	XOR	%A,(%IX + 16)	/ DD AE 10
+	XOR	%A,[%IX + 16]	/ DD AE 10
 	OR	%A,%IXH	/ DD B4
 	OR	%A,%IXL	/ DD B5
-	OR	%A,(%IX + 32)	/ DD B6 20
+	OR	%A,[%IX + 32]	/ DD B6 20
 	CP	%A,%IXH	/ DD BC
 	CP	%A,%IXL	/ DD BD
-	CP	%A,(%IX + 48)	/ DD BE 30
-	RLC	(%IX + 16),%B	/ DD CB 10 00
-	RLC	(%IX + 32),%C	/ DD CB 20 01
-	RLC	(%IX + 48),%D	/ DD CB 30 02
-	RLC	(%IX + 64),%E	/ DD CB 40 03
-	RLC	(%IX + 16),%H	/ DD CB 10 04
-	RLC	(%IX + 32),%L	/ DD CB 20 05
-	RLC	(%IX + 64)	/ DD CB 40 06
-	RLC	(%IX + 16),%A	/ DD CB 10 07
-	RRC	(%IX + 32),%B 	/ DD CB 20 08
-	RRC	(%IX + 48),%C	/ DD CB 30 09
-	RRC	(%IX + 64),%D	/ DD CB 40 0A
-	RRC	(%IX + 16),%E	/ DD CB 10 0B
-	RRC	(%IX + 32),%H	/ DD CB 20 0C
-	RRC	(%IX + 48),%L	/ DD CB 30 0D
-	RRC	(%IX + 16)	/ DD CB 10 0E
-	RRC	(%IX + 16),%A	/ DD CB 10 0F
-	RL	(%IX + 32),%B	/ DD CB 20 10
-	RL	(%IX + 48),%C	/ DD CB 30 11
-	RL	(%IX + 64),%D	/ DD CB 40 12
-	RL	(%IX + 16),%E	/ DD CB 10 13
-	RL	(%IX + 32),%H	/ DD CB 20 14
-	RL	(%IX + 48),%L	/ DD CB 30 15
-	RL	(%IX + 32)	/ DD CB 20 16
-	RL	(%IX + 16),%A	/ DD CB 10 17
-	RR	(%IX + 32),%B	/ DD CB 20 18
-	RR	(%IX + 48),%C	/ DD CB 30 19
-	RR	(%IX + 64),%D	/ DD CB 40 1A
-	RR	(%IX + 16),%E	/ DD CB 10 1B
-	RR	(%IX + 32),%H	/ DD CB 20 1C
-	RR	(%IX + 48),%L	/ DD CB 30 1D
-	RR	(%IX + 48)	/ DD CB 30 1E
-	RR	(%IX + 16),%A	/ DD CB 10 1F
-	SLA	(%IX + 32),%B	/ DD CB 20 20
-	SLA	(%IX + 48),%C	/ DD CB 30 21
-	SLA	(%IX + 64),%D	/ DD CB 40 22
-	SLA	(%IX + 16),%E	/ DD CB 10 23
-	SLA	(%IX + 32),%H	/ DD CB 20 24
-	SLA	(%IX + 48),%L	/ DD CB 30 25
-	SLA	(%IX + 64)	/ DD CB 40 26
-	SLA	(%IX + 16),%A	/ DD CB 10 27
-	SRA	(%IX + 32),%B	/ DD CB 20 28
-	SRA	(%IX + 48),%C	/ DD CB 30 29
-	SRA	(%IX + 64),%D	/ DD CB 40 2A
-	SRA	(%IX + 16),%E	/ DD CB 10 2B
-	SRA	(%IX + 32),%H	/ DD CB 20 2C
-	SRA	(%IX + 48),%L	/ DD CB 30 2D
-	SRA	(%IX + 16)	/ DD CB 10 2E
-	SRA	(%IX + 16),%A	/ DD CB 10 2F
-	SLL	(%IX + 32),%B	/ DD CB 20 30
-	SLL	(%IX + 48),%C	/ DD CB 30 31
-	SLL	(%IX + 64),%D	/ DD CB 40 32
-	SLL	(%IX + 16),%E	/ DD CB 10 33
-	SLL	(%IX + 32),%H	/ DD CB 20 34
-	SLL	(%IX + 48),%L	/ DD CB 30 35
-	SLL	(%IX + 32)	/ DD CB 20 36
-	SLL	(%IX + 16),%A	/ DD CB 10 37
-	SRL	(%IX + 32),%B	/ DD CB 20 38
-	SRL	(%IX + 48),%C	/ DD CB 30 39
-	SRL	(%IX + 64),%D	/ DD CB 40 3A
-	SRL	(%IX + 16),%E	/ DD CB 10 3B
-	SRL	(%IX + 32),%H	/ DD CB 20 3C
-	SRL	(%IX + 48),%L	/ DD CB 30 3D
-	SRL	(%IX + 48)	/ DD CB 30 3E
-	SRL	(%IX + 64),%A	/ DD CB 40 3F
-	BIT	0,(%IX + 16)	/ DD CB 10 46
-	BIT	1,(%IX + 32)	/ DD CB 20 4E
-	BIT	2,(%IX + 48)	/ DD CB 30 56
-	BIT	3,(%IX + 64)	/ DD CB 40 5E
-	BIT	4,(%IX + 16)	/ DD CB 10 66
-	BIT	5,(%IX + 32)	/ DD CB 20 6E
-	BIT	6,(%IX + 48)	/ DD CB 30 76
-	BIT	7,(%IX + 64)	/ DD CB 40 7E
-	RES	0,(%IX + 16),%B	/ DD CB 10 80
-	RES	0,(%IX + 32),%C	/ DD CB 20 81
-	RES	0,(%IX + 48),%D	/ DD CB 30 82
-	RES	0,(%IX + 64),%E	/ DD CB 40 83
-	RES	0,(%IX + 16),%H	/ DD CB 10 84
-	RES	0,(%IX + 32),%L	/ DD CB 20 85
-	RES	0,(%IX + 48)	/ DD CB 30 86
-	RES	0,(%IX + 64),%A	/ DD CB 40 87
-	RES	1,(%IX + 16),%B	/ DD CB 10 88
-	RES	1,(%IX + 32),%C	/ DD CB 20 89
-	RES	1,(%IX + 48),%D	/ DD CB 30 8A
-	RES	1,(%IX + 64),%E	/ DD CB 40 8B
-	RES	1,(%IX + 16),%H	/ DD CB 10 8C
-	RES	1,(%IX + 32),%L	/ DD CB 20 8D
-	RES	1,(%IX + 48)	/ DD CB 30 8E
-	RES	1,(%IX + 64),%A	/ DD CB 40 8F
-	RES	2,(%IX + 16),%B	/ DD CB 10 90
-	RES	2,(%IX + 32),%C	/ DD CB 20 91
-	RES	2,(%IX + 48),%D	/ DD CB 30 92
-	RES	2,(%IX + 64),%E	/ DD CB 40 93
-	RES	2,(%IX + 16),%H	/ DD CB 10 94
-	RES	2,(%IX + 32),%L	/ DD CB 20 95
-	RES	2,(%IX + 48)	/ DD CB 30 96
-	RES	2,(%IX + 64),%A	/ DD CB 40 97
-	RES	3,(%IX + 16),%B	/ DD CB 10 98
-	RES	3,(%IX + 32),%C	/ DD CB 20 99
-	RES	3,(%IX + 48),%D	/ DD CB 30 9A
-	RES	3,(%IX + 64),%E	/ DD CB 40 9B
-	RES	3,(%IX + 16),%H	/ DD CB 10 9C
-	RES	3,(%IX + 32),%L	/ DD CB 20 9D
-	RES	3,(%IX + 48)	/ DD CB 30 9E
-	RES	3,(%IX + 64),%A	/ DD CB 40 9F
-	RES	4,(%IX + 16),%B	/ DD CB 10 A0
-	RES	4,(%IX + 32),%C	/ DD CB 20 A1
-	RES	4,(%IX + 48),%D	/ DD CB 30 A2
-	RES	4,(%IX + 64),%E	/ DD CB 40 A3
-	RES	4,(%IX + 16),%H	/ DD CB 10 A4
-	RES	4,(%IX + 32),%L	/ DD CB 20 A5
-	RES	4,(%IX + 48)	/ DD CB 30 A6
-	RES	4,(%IX + 64),%A	/ DD CB 40 A7
-	RES	5,(%IX + 16),%B	/ DD CB 10 A8
-	RES	5,(%IX + 32),%C	/ DD CB 20 A9
-	RES	5,(%IX + 48),%D	/ DD CB 30 AA
-	RES	5,(%IX + 64),%E	/ DD CB 40 AB
-	RES	5,(%IX + 16),%H	/ DD CB 10 AC
-	RES	5,(%IX + 32),%L	/ DD CB 20 AD
-	RES	5,(%IX + 48)	/ DD CB 30 AE
-	RES	5,(%IX + 64),%A	/ DD CB 40 AF
-	RES	6,(%IX + 16),%B	/ DD CB 10 B0
-	RES	6,(%IX + 32),%C	/ DD CB 20 B1
-	RES	6,(%IX + 48),%D	/ DD CB 30 B2
-	RES	6,(%IX + 64),%E	/ DD CB 40 B3
-	RES	6,(%IX + 16),%H	/ DD CB 10 B4
-	RES	6,(%IX + 32),%L	/ DD CB 20 B5
-	RES	6,(%IX + 48)	/ DD CB 30 B6
-	RES	6,(%IX + 64),%A	/ DD CB 40 B7
-	RES	7,(%IX + 16),%B	/ DD CB 10 B8
-	RES	7,(%IX + 32),%C	/ DD CB 20 B9
-	RES	7,(%IX + 48),%D	/ DD CB 30 BA
-	RES	7,(%IX + 64),%E	/ DD CB 40 BB
-	RES	7,(%IX + 16),%H	/ DD CB 10 BC
-	RES	7,(%IX + 32),%L	/ DD CB 20 BD
-	RES	7,(%IX + 48)	/ DD CB 30 BE
-	RES	7,(%IX + 64),%A	/ DD CB 40 BF
-	SET	0,(%IX + 16),%B	/ DD CB 10 C0
-	SET	0,(%IX + 32),%C	/ DD CB 20 C1
-	SET	0,(%IX + 48),%D	/ DD CB 30 C2
-	SET	0,(%IX + 64),%E	/ DD CB 40 C3
-	SET	0,(%IX + 16),%H	/ DD CB 10 C4
-	SET	0,(%IX + 32),%L	/ DD CB 20 C5
-	SET	0,(%IX + 48)	/ DD CB 30 C6
-	SET	0,(%IX + 64),%A	/ DD CB 40 C7
-	SET	1,(%IX + 16),%B	/ DD CB 10 C8
-	SET	1,(%IX + 32),%C	/ DD CB 20 C9
-	SET	1,(%IX + 48),%D	/ DD CB 30 CA
-	SET	1,(%IX + 64),%E	/ DD CB 40 CB
-	SET	1,(%IX + 16),%H	/ DD CB 10 CC
-	SET	1,(%IX + 32),%L	/ DD CB 20 CD
-	SET	1,(%IX + 48)	/ DD CB 30 CE
-	SET	1,(%IX + 64),%A	/ DD CB 40 CF
-	SET	2,(%IX + 16),%B	/ DD CB 10 D0
-	SET	2,(%IX + 32),%C	/ DD CB 20 D1
-	SET	2,(%IX + 48),%D	/ DD CB 30 D2
-	SET	2,(%IX + 64),%E	/ DD CB 40 D3
-	SET	2,(%IX + 16),%H	/ DD CB 10 D4
-	SET	2,(%IX + 32),%L	/ DD CB 20 D5
-	SET	2,(%IX + 48)	/ DD CB 30 D6
-	SET	2,(%IX + 64),%A	/ DD CB 40 D7
-	SET	3,(%IX + 16),%B	/ DD CB 10 D8
-	SET	3,(%IX + 32),%C	/ DD CB 20 D9
-	SET	3,(%IX + 48),%D	/ DD CB 30 DA
-	SET	3,(%IX + 64),%E	/ DD CB 40 DB
-	SET	3,(%IX + 16),%H	/ DD CB 10 DC
-	SET	3,(%IX + 32),%L	/ DD CB 20 DD
-	SET	3,(%IX + 48)	/ DD CB 30 DE
-	SET	3,(%IX + 64),%A	/ DD CB 40 DF
-	SET	4,(%IX + 16),%B	/ DD CB 10 E0
-	SET	4,(%IX + 32),%C	/ DD CB 20 E1
-	SET	4,(%IX + 48),%D	/ DD CB 30 E2
-	SET	4,(%IX + 64),%E	/ DD CB 40 E3
-	SET	4,(%IX + 16),%H	/ DD CB 10 E4
-	SET	4,(%IX + 32),%L	/ DD CB 20 E5
-	SET	4,(%IX + 48)	/ DD CB 30 E6
-	SET	4,(%IX + 64),%A	/ DD CB 40 E7
-	SET	5,(%IX + 16),%B	/ DD CB 10 E8
-	SET	5,(%IX + 32),%C	/ DD CB 20 E9
-	SET	5,(%IX + 48),%D	/ DD CB 30 EA
-	SET	5,(%IX + 64),%E	/ DD CB 40 EB
-	SET	5,(%IX + 16),%H	/ DD CB 10 EC
-	SET	5,(%IX + 32),%L	/ DD CB 20 ED
-	SET	5,(%IX + 48)	/ DD CB 30 EE
-	SET	5,(%IX + 64),%A	/ DD CB 40 EF
-	SET	6,(%IX + 16),%B	/ DD CB 10 F0
-	SET	6,(%IX + 32),%C	/ DD CB 20 F1
-	SET	6,(%IX + 48),%D	/ DD CB 30 F2
-	SET	6,(%IX + 64),%E	/ DD CB 40 F3
-	SET	6,(%IX + 16),%H	/ DD CB 10 F4
-	SET	6,(%IX + 32),%L	/ DD CB 20 F5
-	SET	6,(%IX + 48)	/ DD CB 30 F6
-	SET	6,(%IX + 64),%A	/ DD CB 40 F7
-	SET	7,(%IX + 16),%B	/ DD CB 10 F8
-	SET	7,(%IX + 32),%C	/ DD CB 20 F9
-	SET	7,(%IX + 48),%D	/ DD CB 30 FA
-	SET	7,(%IX + 64),%E	/ DD CB 40 FB
-	SET	7,(%IX + 16),%H	/ DD CB 10 FC
-	SET	7,(%IX + 32),%L	/ DD CB 20 FD
-	SET	7,(%IX + 48)	/ DD CB 30 FE
-	SET	7,(%IX + 64),%A	/ DD CB 40 FF
+	CP	%A,[%IX + 48]	/ DD BE 30
+	RLC	[%IX + 16],%B	/ DD CB 10 00
+	RLC	[%IX + 32],%C	/ DD CB 20 01
+	RLC	[%IX + 48],%D	/ DD CB 30 02
+	RLC	[%IX + 64],%E	/ DD CB 40 03
+	RLC	[%IX + 16],%H	/ DD CB 10 04
+	RLC	[%IX + 32],%L	/ DD CB 20 05
+	RLC	[%IX + 64]	/ DD CB 40 06
+	RLC	[%IX + 16],%A	/ DD CB 10 07
+	RRC	[%IX + 32],%B 	/ DD CB 20 08
+	RRC	[%IX + 48],%C	/ DD CB 30 09
+	RRC	[%IX + 64],%D	/ DD CB 40 0A
+	RRC	[%IX + 16],%E	/ DD CB 10 0B
+	RRC	[%IX + 32],%H	/ DD CB 20 0C
+	RRC	[%IX + 48],%L	/ DD CB 30 0D
+	RRC	[%IX + 16]	/ DD CB 10 0E
+	RRC	[%IX + 16],%A	/ DD CB 10 0F
+	RL	[%IX + 32],%B	/ DD CB 20 10
+	RL	[%IX + 48],%C	/ DD CB 30 11
+	RL	[%IX + 64],%D	/ DD CB 40 12
+	RL	[%IX + 16],%E	/ DD CB 10 13
+	RL	[%IX + 32],%H	/ DD CB 20 14
+	RL	[%IX + 48],%L	/ DD CB 30 15
+	RL	[%IX + 32]	/ DD CB 20 16
+	RL	[%IX + 16],%A	/ DD CB 10 17
+	RR	[%IX + 32],%B	/ DD CB 20 18
+	RR	[%IX + 48],%C	/ DD CB 30 19
+	RR	[%IX + 64],%D	/ DD CB 40 1A
+	RR	[%IX + 16],%E	/ DD CB 10 1B
+	RR	[%IX + 32],%H	/ DD CB 20 1C
+	RR	[%IX + 48],%L	/ DD CB 30 1D
+	RR	[%IX + 48]	/ DD CB 30 1E
+	RR	[%IX + 16],%A	/ DD CB 10 1F
+	SLA	[%IX + 32],%B	/ DD CB 20 20
+	SLA	[%IX + 48],%C	/ DD CB 30 21
+	SLA	[%IX + 64],%D	/ DD CB 40 22
+	SLA	[%IX + 16],%E	/ DD CB 10 23
+	SLA	[%IX + 32],%H	/ DD CB 20 24
+	SLA	[%IX + 48],%L	/ DD CB 30 25
+	SLA	[%IX + 64]	/ DD CB 40 26
+	SLA	[%IX + 16],%A	/ DD CB 10 27
+	SRA	[%IX + 32],%B	/ DD CB 20 28
+	SRA	[%IX + 48],%C	/ DD CB 30 29
+	SRA	[%IX + 64],%D	/ DD CB 40 2A
+	SRA	[%IX + 16],%E	/ DD CB 10 2B
+	SRA	[%IX + 32],%H	/ DD CB 20 2C
+	SRA	[%IX + 48],%L	/ DD CB 30 2D
+	SRA	[%IX + 16]	/ DD CB 10 2E
+	SRA	[%IX + 16],%A	/ DD CB 10 2F
+	SLL	[%IX + 32],%B	/ DD CB 20 30
+	SLL	[%IX + 48],%C	/ DD CB 30 31
+	SLL	[%IX + 64],%D	/ DD CB 40 32
+	SLL	[%IX + 16],%E	/ DD CB 10 33
+	SLL	[%IX + 32],%H	/ DD CB 20 34
+	SLL	[%IX + 48],%L	/ DD CB 30 35
+	SLL	[%IX + 32]	/ DD CB 20 36
+	SLL	[%IX + 16],%A	/ DD CB 10 37
+	SRL	[%IX + 32],%B	/ DD CB 20 38
+	SRL	[%IX + 48],%C	/ DD CB 30 39
+	SRL	[%IX + 64],%D	/ DD CB 40 3A
+	SRL	[%IX + 16],%E	/ DD CB 10 3B
+	SRL	[%IX + 32],%H	/ DD CB 20 3C
+	SRL	[%IX + 48],%L	/ DD CB 30 3D
+	SRL	[%IX + 48]	/ DD CB 30 3E
+	SRL	[%IX + 64],%A	/ DD CB 40 3F
+	BIT	0,[%IX + 16]	/ DD CB 10 46
+	BIT	1,[%IX + 32]	/ DD CB 20 4E
+	BIT	2,[%IX + 48]	/ DD CB 30 56
+	BIT	3,[%IX + 64]	/ DD CB 40 5E
+	BIT	4,[%IX + 16]	/ DD CB 10 66
+	BIT	5,[%IX + 32]	/ DD CB 20 6E
+	BIT	6,[%IX + 48]	/ DD CB 30 76
+	BIT	7,[%IX + 64]	/ DD CB 40 7E
+	RES	0,[%IX + 16],%B	/ DD CB 10 80
+	RES	0,[%IX + 32],%C	/ DD CB 20 81
+	RES	0,[%IX + 48],%D	/ DD CB 30 82
+	RES	0,[%IX + 64],%E	/ DD CB 40 83
+	RES	0,[%IX + 16],%H	/ DD CB 10 84
+	RES	0,[%IX + 32],%L	/ DD CB 20 85
+	RES	0,[%IX + 48]	/ DD CB 30 86
+	RES	0,[%IX + 64],%A	/ DD CB 40 87
+	RES	1,[%IX + 16],%B	/ DD CB 10 88
+	RES	1,[%IX + 32],%C	/ DD CB 20 89
+	RES	1,[%IX + 48],%D	/ DD CB 30 8A
+	RES	1,[%IX + 64],%E	/ DD CB 40 8B
+	RES	1,[%IX + 16],%H	/ DD CB 10 8C
+	RES	1,[%IX + 32],%L	/ DD CB 20 8D
+	RES	1,[%IX + 48]	/ DD CB 30 8E
+	RES	1,[%IX + 64],%A	/ DD CB 40 8F
+	RES	2,[%IX + 16],%B	/ DD CB 10 90
+	RES	2,[%IX + 32],%C	/ DD CB 20 91
+	RES	2,[%IX + 48],%D	/ DD CB 30 92
+	RES	2,[%IX + 64],%E	/ DD CB 40 93
+	RES	2,[%IX + 16],%H	/ DD CB 10 94
+	RES	2,[%IX + 32],%L	/ DD CB 20 95
+	RES	2,[%IX + 48]	/ DD CB 30 96
+	RES	2,[%IX + 64],%A	/ DD CB 40 97
+	RES	3,[%IX + 16],%B	/ DD CB 10 98
+	RES	3,[%IX + 32],%C	/ DD CB 20 99
+	RES	3,[%IX + 48],%D	/ DD CB 30 9A
+	RES	3,[%IX + 64],%E	/ DD CB 40 9B
+	RES	3,[%IX + 16],%H	/ DD CB 10 9C
+	RES	3,[%IX + 32],%L	/ DD CB 20 9D
+	RES	3,[%IX + 48]	/ DD CB 30 9E
+	RES	3,[%IX + 64],%A	/ DD CB 40 9F
+	RES	4,[%IX + 16],%B	/ DD CB 10 A0
+	RES	4,[%IX + 32],%C	/ DD CB 20 A1
+	RES	4,[%IX + 48],%D	/ DD CB 30 A2
+	RES	4,[%IX + 64],%E	/ DD CB 40 A3
+	RES	4,[%IX + 16],%H	/ DD CB 10 A4
+	RES	4,[%IX + 32],%L	/ DD CB 20 A5
+	RES	4,[%IX + 48]	/ DD CB 30 A6
+	RES	4,[%IX + 64],%A	/ DD CB 40 A7
+	RES	5,[%IX + 16],%B	/ DD CB 10 A8
+	RES	5,[%IX + 32],%C	/ DD CB 20 A9
+	RES	5,[%IX + 48],%D	/ DD CB 30 AA
+	RES	5,[%IX + 64],%E	/ DD CB 40 AB
+	RES	5,[%IX + 16],%H	/ DD CB 10 AC
+	RES	5,[%IX + 32],%L	/ DD CB 20 AD
+	RES	5,[%IX + 48]	/ DD CB 30 AE
+	RES	5,[%IX + 64],%A	/ DD CB 40 AF
+	RES	6,[%IX + 16],%B	/ DD CB 10 B0
+	RES	6,[%IX + 32],%C	/ DD CB 20 B1
+	RES	6,[%IX + 48],%D	/ DD CB 30 B2
+	RES	6,[%IX + 64],%E	/ DD CB 40 B3
+	RES	6,[%IX + 16],%H	/ DD CB 10 B4
+	RES	6,[%IX + 32],%L	/ DD CB 20 B5
+	RES	6,[%IX + 48]	/ DD CB 30 B6
+	RES	6,[%IX + 64],%A	/ DD CB 40 B7
+	RES	7,[%IX + 16],%B	/ DD CB 10 B8
+	RES	7,[%IX + 32],%C	/ DD CB 20 B9
+	RES	7,[%IX + 48],%D	/ DD CB 30 BA
+	RES	7,[%IX + 64],%E	/ DD CB 40 BB
+	RES	7,[%IX + 16],%H	/ DD CB 10 BC
+	RES	7,[%IX + 32],%L	/ DD CB 20 BD
+	RES	7,[%IX + 48]	/ DD CB 30 BE
+	RES	7,[%IX + 64],%A	/ DD CB 40 BF
+	SET	0,[%IX + 16],%B	/ DD CB 10 C0
+	SET	0,[%IX + 32],%C	/ DD CB 20 C1
+	SET	0,[%IX + 48],%D	/ DD CB 30 C2
+	SET	0,[%IX + 64],%E	/ DD CB 40 C3
+	SET	0,[%IX + 16],%H	/ DD CB 10 C4
+	SET	0,[%IX + 32],%L	/ DD CB 20 C5
+	SET	0,[%IX + 48]	/ DD CB 30 C6
+	SET	0,[%IX + 64],%A	/ DD CB 40 C7
+	SET	1,[%IX + 16],%B	/ DD CB 10 C8
+	SET	1,[%IX + 32],%C	/ DD CB 20 C9
+	SET	1,[%IX + 48],%D	/ DD CB 30 CA
+	SET	1,[%IX + 64],%E	/ DD CB 40 CB
+	SET	1,[%IX + 16],%H	/ DD CB 10 CC
+	SET	1,[%IX + 32],%L	/ DD CB 20 CD
+	SET	1,[%IX + 48]	/ DD CB 30 CE
+	SET	1,[%IX + 64],%A	/ DD CB 40 CF
+	SET	2,[%IX + 16],%B	/ DD CB 10 D0
+	SET	2,[%IX + 32],%C	/ DD CB 20 D1
+	SET	2,[%IX + 48],%D	/ DD CB 30 D2
+	SET	2,[%IX + 64],%E	/ DD CB 40 D3
+	SET	2,[%IX + 16],%H	/ DD CB 10 D4
+	SET	2,[%IX + 32],%L	/ DD CB 20 D5
+	SET	2,[%IX + 48]	/ DD CB 30 D6
+	SET	2,[%IX + 64],%A	/ DD CB 40 D7
+	SET	3,[%IX + 16],%B	/ DD CB 10 D8
+	SET	3,[%IX + 32],%C	/ DD CB 20 D9
+	SET	3,[%IX + 48],%D	/ DD CB 30 DA
+	SET	3,[%IX + 64],%E	/ DD CB 40 DB
+	SET	3,[%IX + 16],%H	/ DD CB 10 DC
+	SET	3,[%IX + 32],%L	/ DD CB 20 DD
+	SET	3,[%IX + 48]	/ DD CB 30 DE
+	SET	3,[%IX + 64],%A	/ DD CB 40 DF
+	SET	4,[%IX + 16],%B	/ DD CB 10 E0
+	SET	4,[%IX + 32],%C	/ DD CB 20 E1
+	SET	4,[%IX + 48],%D	/ DD CB 30 E2
+	SET	4,[%IX + 64],%E	/ DD CB 40 E3
+	SET	4,[%IX + 16],%H	/ DD CB 10 E4
+	SET	4,[%IX + 32],%L	/ DD CB 20 E5
+	SET	4,[%IX + 48]	/ DD CB 30 E6
+	SET	4,[%IX + 64],%A	/ DD CB 40 E7
+	SET	5,[%IX + 16],%B	/ DD CB 10 E8
+	SET	5,[%IX + 32],%C	/ DD CB 20 E9
+	SET	5,[%IX + 48],%D	/ DD CB 30 EA
+	SET	5,[%IX + 64],%E	/ DD CB 40 EB
+	SET	5,[%IX + 16],%H	/ DD CB 10 EC
+	SET	5,[%IX + 32],%L	/ DD CB 20 ED
+	SET	5,[%IX + 48]	/ DD CB 30 EE
+	SET	5,[%IX + 64],%A	/ DD CB 40 EF
+	SET	6,[%IX + 16],%B	/ DD CB 10 F0
+	SET	6,[%IX + 32],%C	/ DD CB 20 F1
+	SET	6,[%IX + 48],%D	/ DD CB 30 F2
+	SET	6,[%IX + 64],%E	/ DD CB 40 F3
+	SET	6,[%IX + 16],%H	/ DD CB 10 F4
+	SET	6,[%IX + 32],%L	/ DD CB 20 F5
+	SET	6,[%IX + 48]	/ DD CB 30 F6
+	SET	6,[%IX + 64],%A	/ DD CB 40 F7
+	SET	7,[%IX + 16],%B	/ DD CB 10 F8
+	SET	7,[%IX + 32],%C	/ DD CB 20 F9
+	SET	7,[%IX + 48],%D	/ DD CB 30 FA
+	SET	7,[%IX + 64],%E	/ DD CB 40 FB
+	SET	7,[%IX + 16],%H	/ DD CB 10 FC
+	SET	7,[%IX + 32],%L	/ DD CB 20 FD
+	SET	7,[%IX + 48]	/ DD CB 30 FE
+	SET	7,[%IX + 64],%A	/ DD CB 40 FF
 	POP	%IX	/ DD E1
-	EX	(%SP),%IX	/ DD E3
+	EX	[%SP],%IX	/ DD E3
 	PUSH	%IX	/ DD E5
-	JP	(%IX)	/ DD E9
+	JP	[%IX]	/ DD E9
 	LD	%SP,%IX	/ DD F9
 	SBC	%A,64	/ DE 40
 	RST	24	/ DF
@@ -764,58 +764,58 @@
 	RET	%PO	/ E0
 	POP	%HL	/ E1
 	JP	%PO,32768	/ E2 00 80
-	EX	(%SP),%HL	/ E3
+	EX	[%SP],%HL	/ E3
 	CALL	%PO,16384	/ E4 00 40
 	PUSH	%HL	/ E5
 	AND	%A,16	/ E6 10
 	RST	32	/ E7
 	RET	%PE	/ E8
-	JP	(%HL)	/ E9
+	JP	[%HL]	/ E9
 	JP	%PE,16384	/ EA 00 40
 	EX	%DE,%HL	/ EB
 	CALL	%PE,16384	/ EC 00 40
-	IN	%B,(%C)	/ ED 40
-	OUT	(%C),%B	/ ED 41
+	IN	%B,[%C]	/ ED 40
+	OUT	[%C],%B	/ ED 41
 	SBC	%HL,%BC	/ ED 42
-	LD	(32768),%BC	/ ED 43 00 80
+	LD	[32768],%BC	/ ED 43 00 80
 	NEG		/ ED 44
 	RETN		/ ED 45
 	IM	0	/ ED 46
 	LD	%I,%A	/ ED 47
-	IN	%C,(%C)	/ ED 48
-	OUT	(%C),%C	/ ED 49
+	IN	%C,[%C]	/ ED 48
+	OUT	[%C],%C	/ ED 49
 	ADC	%HL,%BC	/ ED 4A
-	LD	%BC,(16384)	/ ED 4B 00 40
+	LD	%BC,[16384]	/ ED 4B 00 40
 	RETI		/ ED 4D
 	LD	%R,%A	/ ED 4F
-	IN	%D,(%C)	/ ED 50
-	OUT	(%C),%D	/ ED 51
+	IN	%D,[%C]	/ ED 50
+	OUT	[%C],%D	/ ED 51
 	SBC	%HL,%DE	/ ED 52
-	LD	(32768),%DE	/ ED 53 00 80
+	LD	[32768],%DE	/ ED 53 00 80
 	IM	1	/ ED 56
 	LD	%A,%I	/ ED 57
-	IN	%E,(%C)	/ ED 58
-	OUT	(%C),%E	/ ED 59
+	IN	%E,[%C]	/ ED 58
+	OUT	[%C],%E	/ ED 59
 	ADC	%HL,%DE	/ ED 5A
-	LD	%DE,(16384)	/ ED 5B 00 40
+	LD	%DE,[16384]	/ ED 5B 00 40
 	IM	2	/ ED 5E
 	LD	%A,%R	/ ED 5F
-	IN	%H,(%C)	/ ED 60
-	OUT	(%C),%H	/ ED 61
+	IN	%H,[%C]	/ ED 60
+	OUT	[%C],%H	/ ED 61
 	SBC	%HL,%HL	/ ED 62
 	RRD		/ ED 67
-	IN	%L,(%C)	/ ED 68
-	OUT	(%C),%L	/ ED 69
+	IN	%L,[%C]	/ ED 68
+	OUT	[%C],%L	/ ED 69
 	ADC	%HL,%HL	/ ED 6A
 	RLD		/ ED 6F
-	IN	%F,(%C)	/ ED 70
-	OUT	(%C),0	/ ED 71
+	IN	%F,[%C]	/ ED 70
+	OUT	[%C],0	/ ED 71
 	SBC	%HL,%SP	/ ED 72
-	LD	(16384),%SP	/ ED 73 00 40
-	IN	%A,(%C)	/ ED 78
-	OUT	(%C),%A	/ ED 79
+	LD	[16384],%SP	/ ED 73 00 40
+	IN	%A,[%C]	/ ED 78
+	OUT	[%C],%A	/ ED 79
 	ADC	%HL,%SP	/ ED 7A
-	LD	%SP,(32768)	/ ED 7B 00 80
+	LD	%SP,[32768]	/ ED 7B 00 80
 	LDI		/ ED A0
 	CPI		/ ED A1
 	INI		/ ED A2
@@ -850,33 +850,33 @@
 	ADD	%IY,%BC	/ FD 09
 	ADD	%IY,%DE	/ FD 19
 	LD	%IY,32768	/ FD 21 00 80
-	LD	(16384),%IY	/ FD 22 00 40
+	LD	[16384],%IY	/ FD 22 00 40
 	INC	%IY	/ FD 23
 	INC	%IYH	/ FD 24
 	DEC	%IYH	/ FD 25
 	LD	%IYH,32	/ FD 26 20
 	ADD	%IY,%IY	/ FD 29
-	LD	%IY,(32768)	/ FD 2A 00 80
+	LD	%IY,[32768]	/ FD 2A 00 80
 	DEC	%IY	/ FD 2B
 	INC	%IYL	/ FD 2C
 	DEC	%IYL	/ FD 2D
 	LD	%IYL,16	/ FD 2E 10
-	INC	(%IY + 32)	/ FD 34 20
-	DEC	(%IY + 48)	/ FD 35 30
-	LD	(%IY + 64),16	/ FD 36 40 10
+	INC	[%IY + 32]	/ FD 34 20
+	DEC	[%IY + 48]	/ FD 35 30
+	LD	[%IY + 64],16	/ FD 36 40 10
 	ADD	%IY,%SP	/ FD 39
 	LD	%B,%IYH	/ FD 44
 	LD	%B,%IYL	/ FD 45
-	LD	%B,(%IY + 32)	/ FD 46 20
+	LD	%B,[%IY + 32]	/ FD 46 20
 	LD	%C,%IYH	/ FD 4C
 	LD	%C,%IYL	/ FD 4D
-	LD	%C,(%IY + 48)	/ FD 4E 30
+	LD	%C,[%IY + 48]	/ FD 4E 30
 	LD	%D,%IYH	/ FD 54
 	LD	%D,%IYL	/ FD 55
-	LD	%D,(%IY + 64)	/ FD 56 40
+	LD	%D,[%IY + 64]	/ FD 56 40
 	LD	%E,%IYH	/ FD 5C
 	LD	%E,%IYL	/ FD 5D
-	LD	%E,(%IY + 16)	/ FD 5E 10
+	LD	%E,[%IY + 16]	/ FD 5E 10
 	LD	%IYH,%B	/ FD 60
 	LD	%IYH,%C	/ FD 61
 	LD	%IYH,%D	/ FD 62
@@ -883,7 +883,7 @@
 	LD	%IYH,%E	/ FD 63
 	LD	%IYH,%IYH	/ FD 64
 	LD	%IYH,%IYL	/ FD 65
-	LD	%H,(%IY + 32)	/ FD 66 20
+	LD	%H,[%IY + 32]	/ FD 66 20
 	LD	%IYH,%A	/ FD 67
 	LD	%IYL,%B	/ FD 68
 	LD	%IYL,%C	/ FD 69
@@ -891,246 +891,246 @@
 	LD	%IYL,%E	/ FD 6B
 	LD	%IYL,%IYH	/ FD 6C
 	LD	%IYL,%IYL	/ FD 6D
-	LD	%L,(%IY + 48)	/ FD 6E 30
+	LD	%L,[%IY + 48]	/ FD 6E 30
 	LD	%IYL,%A	/ FD 6F
-	LD	(%IY + 64),%B	/ FD 70 40
-	LD	(%IY + 16),%C	/ FD 71 10
-	LD	(%IY + 32),%D	/ FD 72 20
-	LD	(%IY + 48),%E	/ FD 73 30
-	LD	(%IY + 64),%H	/ FD 74 40
-	LD	(%IY + 16),%L	/ FD 75 10
-	LD	(%IY + 32),%A	/ FD 77 20
+	LD	[%IY + 64],%B	/ FD 70 40
+	LD	[%IY + 16],%C	/ FD 71 10
+	LD	[%IY + 32],%D	/ FD 72 20
+	LD	[%IY + 48],%E	/ FD 73 30
+	LD	[%IY + 64],%H	/ FD 74 40
+	LD	[%IY + 16],%L	/ FD 75 10
+	LD	[%IY + 32],%A	/ FD 77 20
 	LD	%A,%IYH	/ FD 7C
 	LD	%A,%IYL	/ FD 7D
-	LD	%A,(%IY + 48)	/ FD 7E 30
+	LD	%A,[%IY + 48]	/ FD 7E 30
 	ADD	%A,%IYH	/ FD 84
 	ADD	%A,%IYL	/ FD 85
-	ADD	%A,(%IY + 64)	/ FD 86 40
+	ADD	%A,[%IY + 64]	/ FD 86 40
 	ADC	%A,%IYH	/ FD 8C
 	ADC	%A,%IYL	/ FD 8D
-	ADC	%A,(%IY + 16)	/ FD 8E 10
+	ADC	%A,[%IY + 16]	/ FD 8E 10
 	SUB	%A,%IYH	/ FD 94
 	SUB	%A,%IYL	/ FD 95
-	SUB	%A,(%IY + 32)	/ FD 96 20
+	SUB	%A,[%IY + 32]	/ FD 96 20
 	SBC	%A,%IYH	/ FD 9C
 	SBC	%A,%IYL	/ FD 9D
-	SBC	%A,(%IY + 48)	/ FD 9E 30
+	SBC	%A,[%IY + 48]	/ FD 9E 30
 	AND	%A,%IYH	/ FD A4
 	AND	%A,%IYL	/ FD A5
-	AND	%A,(%IY + 64)	/ FD A6 40
+	AND	%A,[%IY + 64]	/ FD A6 40
 	XOR	%A,%IYH	/ FD AC
 	XOR	%A,%IYL	/ FD AD
-	XOR	%A,(%IY + 16)	/ FD AE 10
+	XOR	%A,[%IY + 16]	/ FD AE 10
 	OR	%A,%IYH	/ FD B4
 	OR	%A,%IYL	/ FD B5
-	OR	%A,(%IY + 32)	/ FD B6 20
+	OR	%A,[%IY + 32]	/ FD B6 20
 	CP	%A,%IYH	/ FD BC
 	CP	%A,%IYL	/ FD BD
-	CP	%A,(%IY + 48)	/ FD BE 30
-	RLC	(%IY + 16),%B	/ FD CB 10 00
-	RLC	(%IY + 32),%C	/ FD CB 20 01
-	RLC	(%IY + 48),%D	/ FD CB 30 02
-	RLC	(%IY + 64),%E	/ FD CB 40 03
-	RLC	(%IY + 16),%H	/ FD CB 10 04
-	RLC	(%IY + 32),%L	/ FD CB 20 05
-	RLC	(%IY + 16)	/ FD CB 10 06
-	RLC	(%IY + 32),%A	/ FD CB 20 07
-	RRC	(%IY + 48),%B	/ FD CB 30 08
-	RRC	(%IY + 64),%C	/ FD CB 40 09
-	RRC	(%IY + 16),%D	/ FD CB 10 0A
-	RRC	(%IY + 32),%E	/ FD CB 20 0B
-	RRC	(%IY + 48),%H	/ FD CB 30 0C
-	RRC	(%IY + 64),%L	/ FD CB 40 0D
-	RRC	(%IY + 32)	/ FD CB 20 0E
-	RRC	(%IY + 16),%A	/ FD CB 10 0F
-	RL	(%IY + 32),%B	/ FD CB 20 10
-	RL	(%IY + 48),%C	/ FD CB 30 11
-	RL	(%IY + 64),%D	/ FD CB 40 12
-	RL	(%IY + 16),%E	/ FD CB 10 13
-	RL	(%IY + 32),%H	/ FD CB 20 14
-	RL	(%IY + 48),%L	/ FD CB 30 15
-	RL	(%IY + 48)	/ FD CB 30 16
-	RL	(%IY + 16),%A	/ FD CB 10 17
-	RR	(%IY + 32),%B	/ FD CB 20 18
-	RR	(%IY + 48),%C	/ FD CB 30 19
-	RR	(%IY + 64),%D	/ FD CB 40 1A
-	RR	(%IY + 16),%E	/ FD CB 10 1B
-	RR	(%IY + 32),%H	/ FD CB 20 1C
-	RR	(%IY + 48),%L	/ FD CB 30 1D
-	RR	(%IY + 64)	/ FD CB 40 1E
-	RR	(%IY + 16),%A	/ FD CB 10 1F
-	SLA	(%IY + 32),%B	/ FD CB 20 20
-	SLA	(%IY + 48),%C	/ FD CB 30 21
-	SLA	(%IY + 64),%D	/ FD CB 40 22
-	SLA	(%IY + 16),%E	/ FD CB 10 23
-	SLA	(%IY + 32),%H	/ FD CB 20 24
-	SLA	(%IY + 48),%L	/ FD CB 30 25
-	SLA	(%IY + 16)	/ FD CB 10 26
-	SLA	(%IY + 16),%A	/ FD CB 10 27
-	SRA	(%IY + 32),%B	/ FD CB 20 28
-	SRA	(%IY + 48),%C	/ FD CB 30 29
-	SRA	(%IY + 64),%D	/ FD CB 40 2A
-	SRA	(%IY + 16),%E	/ FD CB 10 2B
-	SRA	(%IY + 32),%H	/ FD CB 20 2C
-	SRA	(%IY + 48),%L	/ FD CB 30 2D
-	SRA	(%IY + 32)	/ FD CB 20 2E
-	SRA	(%IY + 48),%A	/ FD CB 30 2F
-	SLL	(%IY + 16),%B	/ FD CB 10 30
-	SLL	(%IY + 32),%C	/ FD CB 20 31
-	SLL	(%IY + 48),%D	/ FD CB 30 32
-	SLL	(%IY + 64),%E	/ FD CB 40 33
-	SLL	(%IY + 16),%H	/ FD CB 10 34
-	SLL	(%IY + 32),%L	/ FD CB 20 35
-	SLL	(%IY + 48)	/ FD CB 30 36
-	SLL	(%IY + 16),%A	/ FD CB 10 37
-	SRL	(%IY + 32),%B	/ FD CB 20 38
-	SRL	(%IY + 48),%C	/ FD CB 30 39
-	SRL	(%IY + 64),%D	/ FD CB 40 3A
-	SRL	(%IY + 16),%E	/ FD CB 10 3B
-	SRL	(%IY + 32),%H	/ FD CB 20 3C
-	SRL	(%IY + 48),%L	/ FD CB 30 3D
-	SRL	(%IY + 64)	/ FD CB 40 3E
-	SRL	(%IY + 16),%A	/ FD CB 10 3F
-	BIT	0,(%IY + 16)	/ FD CB 10 46
-	BIT	1,(%IY + 32)	/ FD CB 20 4E
-	BIT	2,(%IY + 48)	/ FD CB 30 56
-	BIT	3,(%IY + 64)	/ FD CB 40 5E
-	BIT	4,(%IY + 16)	/ FD CB 10 66
-	BIT	5,(%IY + 32)	/ FD CB 20 6E
-	BIT	6,(%IY + 48)	/ FD CB 30 76
-	BIT	7,(%IY + 64)	/ FD CB 40 7E
-	RES	0,(%IY + 16),%B	/ FD CB 10 80
-	RES	0,(%IY + 32),%C	/ FD CB 20 81
-	RES	0,(%IY + 48),%D	/ FD CB 30 82
-	RES	0,(%IY + 64),%E	/ FD CB 40 83
-	RES	0,(%IY + 16),%H	/ FD CB 10 84
-	RES	0,(%IY + 32),%L	/ FD CB 20 85
-	RES	0,(%IY + 48)	/ FD CB 30 86
-	RES	0,(%IY + 64),%A	/ FD CB 40 87
-	RES	1,(%IY + 16),%B	/ FD CB 10 88
-	RES	1,(%IY + 32),%C	/ FD CB 20 89
-	RES	1,(%IY + 48),%D	/ FD CB 30 8A
-	RES	1,(%IY + 64),%E	/ FD CB 40 8B
-	RES	1,(%IY + 16),%H	/ FD CB 10 8C
-	RES	1,(%IY + 32),%L	/ FD CB 20 8D
-	RES	1,(%IY + 48)	/ FD CB 30 8E
-	RES	1,(%IY + 64),%A	/ FD CB 40 8F
-	RES	2,(%IY + 16),%B	/ FD CB 10 90
-	RES	2,(%IY + 32),%C	/ FD CB 20 91
-	RES	2,(%IY + 48),%D	/ FD CB 30 92
-	RES	2,(%IY + 64),%E	/ FD CB 40 93
-	RES	2,(%IY + 16),%H	/ FD CB 10 94
-	RES	2,(%IY + 32),%L	/ FD CB 20 95
-	RES	2,(%IY + 48)	/ FD CB 30 96
-	RES	2,(%IY + 64),%A	/ FD CB 40 97
-	RES	3,(%IY + 16),%B	/ FD CB 10 98
-	RES	3,(%IY + 32),%C	/ FD CB 20 99
-	RES	3,(%IY + 48),%D	/ FD CB 30 9A
-	RES	3,(%IY + 64),%E	/ FD CB 40 9B
-	RES	3,(%IY + 16),%H	/ FD CB 10 9C
-	RES	3,(%IY + 32),%L	/ FD CB 20 9D
-	RES	3,(%IY + 48)	/ FD CB 30 9E
-	RES	3,(%IY + 64),%A	/ FD CB 40 9F
-	RES	4,(%IY + 16),%B	/ FD CB 10 A0
-	RES	4,(%IY + 32),%C	/ FD CB 20 A1
-	RES	4,(%IY + 48),%D	/ FD CB 30 A2
-	RES	4,(%IY + 64),%E	/ FD CB 40 A3
-	RES	4,(%IY + 16),%H	/ FD CB 10 A4
-	RES	4,(%IY + 32),%L	/ FD CB 20 A5
-	RES	4,(%IY + 48)	/ FD CB 30 A6
-	RES	4,(%IY + 64),%A	/ FD CB 40 A7
-	RES	5,(%IY + 16),%B	/ FD CB 10 A8
-	RES	5,(%IY + 32),%C	/ FD CB 20 A9
-	RES	5,(%IY + 48),%D	/ FD CB 30 AA
-	RES	5,(%IY + 64),%E	/ FD CB 40 AB
-	RES	5,(%IY + 16),%H	/ FD CB 10 AC
-	RES	5,(%IY + 32),%L	/ FD CB 20 AD
-	RES	5,(%IY + 48)	/ FD CB 30 AE
-	RES	5,(%IY + 64),%A	/ FD CB 40 AF
-	RES	6,(%IY + 16),%B	/ FD CB 10 B0
-	RES	6,(%IY + 32),%C	/ FD CB 20 B1
-	RES	6,(%IY + 48),%D	/ FD CB 30 B2
-	RES	6,(%IY + 64),%E	/ FD CB 40 B3
-	RES	6,(%IY + 16),%H	/ FD CB 10 B4
-	RES	6,(%IY + 32),%L	/ FD CB 20 B5
-	RES	6,(%IY + 48)	/ FD CB 30 B6
-	RES	6,(%IY + 64),%A	/ FD CB 40 B7
-	RES	7,(%IY + 16),%B	/ FD CB 10 B8
-	RES	7,(%IY + 32),%C	/ FD CB 20 B9
-	RES	7,(%IY + 48),%D	/ FD CB 30 BA
-	RES	7,(%IY + 64),%E	/ FD CB 40 BB
-	RES	7,(%IY + 16),%H	/ FD CB 10 BC
-	RES	7,(%IY + 32),%L	/ FD CB 20 BD
-	RES	7,(%IY + 48)	/ FD CB 30 BE
-	RES	7,(%IY + 64),%A	/ FD CB 40 BF
-	SET	0,(%IY + 16),%B	/ FD CB 10 C0
-	SET	0,(%IY + 32),%C	/ FD CB 20 C1
-	SET	0,(%IY + 48),%D	/ FD CB 30 C2
-	SET	0,(%IY + 64),%E	/ FD CB 40 C3
-	SET	0,(%IY + 16),%H	/ FD CB 10 C4
-	SET	0,(%IY + 32),%L	/ FD CB 20 C5
-	SET	0,(%IY + 48)	/ FD CB 30 C6
-	SET	0,(%IY + 64),%A	/ FD CB 40 C7
-	SET	1,(%IY + 16),%B	/ FD CB 10 C8
-	SET	1,(%IY + 32),%C	/ FD CB 20 C9
-	SET	1,(%IY + 48),%D	/ FD CB 30 CA
-	SET	1,(%IY + 64),%E	/ FD CB 40 CB
-	SET	1,(%IY + 16),%H	/ FD CB 10 CC
-	SET	1,(%IY + 32),%L	/ FD CB 20 CD
-	SET	1,(%IY + 48)	/ FD CB 30 CE
-	SET	1,(%IY + 64),%A	/ FD CB 40 CF
-	SET	2,(%IY + 16),%B	/ FD CB 10 D0
-	SET	2,(%IY + 32),%C	/ FD CB 20 D1
-	SET	2,(%IY + 48),%D	/ FD CB 30 D2
-	SET	2,(%IY + 64),%E	/ FD CB 40 D3
-	SET	2,(%IY + 16),%H	/ FD CB 10 D4
-	SET	2,(%IY + 32),%L	/ FD CB 20 D5
-	SET	2,(%IY + 48)	/ FD CB 30 D6
-	SET	2,(%IY + 64),%A	/ FD CB 40 D7
-	SET	3,(%IY + 16),%B	/ FD CB 10 D8
-	SET	3,(%IY + 32),%C	/ FD CB 20 D9
-	SET	3,(%IY + 48),%D	/ FD CB 30 DA
-	SET	3,(%IY + 64),%E	/ FD CB 40 DB
-	SET	3,(%IY + 16),%H	/ FD CB 10 DC
-	SET	3,(%IY + 32),%L	/ FD CB 20 DD
-	SET	3,(%IY + 48)	/ FD CB 30 DE
-	SET	3,(%IY + 64),%A	/ FD CB 40 DF
-	SET	4,(%IY + 16),%B	/ FD CB 10 E0
-	SET	4,(%IY + 32),%C	/ FD CB 20 E1
-	SET	4,(%IY + 48),%D	/ FD CB 30 E2
-	SET	4,(%IY + 64),%E	/ FD CB 40 E3
-	SET	4,(%IY + 16),%H	/ FD CB 10 E4
-	SET	4,(%IY + 32),%L	/ FD CB 20 E5
-	SET	4,(%IY + 48)	/ FD CB 30 E6
-	SET	4,(%IY + 64),%A	/ FD CB 40 E7
-	SET	5,(%IY + 16),%B	/ FD CB 10 E8
-	SET	5,(%IY + 32),%C	/ FD CB 20 E9
-	SET	5,(%IY + 48),%D	/ FD CB 30 EA
-	SET	5,(%IY + 64),%E	/ FD CB 40 EB
-	SET	5,(%IY + 16),%H	/ FD CB 10 EC
-	SET	5,(%IY + 32),%L	/ FD CB 20 ED
-	SET	5,(%IY + 48)	/ FD CB 30 EE
-	SET	5,(%IY + 64),%A	/ FD CB 40 EF
-	SET	6,(%IY + 16),%B	/ FD CB 10 F0
-	SET	6,(%IY + 32),%C	/ FD CB 20 F1
-	SET	6,(%IY + 48),%D	/ FD CB 30 F2
-	SET	6,(%IY + 64),%E	/ FD CB 40 F3
-	SET	6,(%IY + 16),%H	/ FD CB 10 F4
-	SET	6,(%IY + 32),%L	/ FD CB 20 F5
-	SET	6,(%IY + 48)	/ FD CB 30 F6
-	SET	6,(%IY + 64),%A	/ FD CB 40 F7
-	SET	7,(%IY + 16),%B	/ FD CB 10 F8
-	SET	7,(%IY + 32),%C	/ FD CB 20 F9
-	SET	7,(%IY + 48),%D	/ FD CB 30 FA
-	SET	7,(%IY + 64),%E	/ FD CB 40 FB
-	SET	7,(%IY + 16),%H	/ FD CB 10 FC
-	SET	7,(%IY + 32),%L	/ FD CB 20 FD
-	SET	7,(%IY + 48)	/ FD CB 30 FE
-	SET	7,(%IY + 64),%A	/ FD CB 40 FF
+	CP	%A,[%IY + 48]	/ FD BE 30
+	RLC	[%IY + 16],%B	/ FD CB 10 00
+	RLC	[%IY + 32],%C	/ FD CB 20 01
+	RLC	[%IY + 48],%D	/ FD CB 30 02
+	RLC	[%IY + 64],%E	/ FD CB 40 03
+	RLC	[%IY + 16],%H	/ FD CB 10 04
+	RLC	[%IY + 32],%L	/ FD CB 20 05
+	RLC	[%IY + 16]	/ FD CB 10 06
+	RLC	[%IY + 32],%A	/ FD CB 20 07
+	RRC	[%IY + 48],%B	/ FD CB 30 08
+	RRC	[%IY + 64],%C	/ FD CB 40 09
+	RRC	[%IY + 16],%D	/ FD CB 10 0A
+	RRC	[%IY + 32],%E	/ FD CB 20 0B
+	RRC	[%IY + 48],%H	/ FD CB 30 0C
+	RRC	[%IY + 64],%L	/ FD CB 40 0D
+	RRC	[%IY + 32]	/ FD CB 20 0E
+	RRC	[%IY + 16],%A	/ FD CB 10 0F
+	RL	[%IY + 32],%B	/ FD CB 20 10
+	RL	[%IY + 48],%C	/ FD CB 30 11
+	RL	[%IY + 64],%D	/ FD CB 40 12
+	RL	[%IY + 16],%E	/ FD CB 10 13
+	RL	[%IY + 32],%H	/ FD CB 20 14
+	RL	[%IY + 48],%L	/ FD CB 30 15
+	RL	[%IY + 48]	/ FD CB 30 16
+	RL	[%IY + 16],%A	/ FD CB 10 17
+	RR	[%IY + 32],%B	/ FD CB 20 18
+	RR	[%IY + 48],%C	/ FD CB 30 19
+	RR	[%IY + 64],%D	/ FD CB 40 1A
+	RR	[%IY + 16],%E	/ FD CB 10 1B
+	RR	[%IY + 32],%H	/ FD CB 20 1C
+	RR	[%IY + 48],%L	/ FD CB 30 1D
+	RR	[%IY + 64]	/ FD CB 40 1E
+	RR	[%IY + 16],%A	/ FD CB 10 1F
+	SLA	[%IY + 32],%B	/ FD CB 20 20
+	SLA	[%IY + 48],%C	/ FD CB 30 21
+	SLA	[%IY + 64],%D	/ FD CB 40 22
+	SLA	[%IY + 16],%E	/ FD CB 10 23
+	SLA	[%IY + 32],%H	/ FD CB 20 24
+	SLA	[%IY + 48],%L	/ FD CB 30 25
+	SLA	[%IY + 16]	/ FD CB 10 26
+	SLA	[%IY + 16],%A	/ FD CB 10 27
+	SRA	[%IY + 32],%B	/ FD CB 20 28
+	SRA	[%IY + 48],%C	/ FD CB 30 29
+	SRA	[%IY + 64],%D	/ FD CB 40 2A
+	SRA	[%IY + 16],%E	/ FD CB 10 2B
+	SRA	[%IY + 32],%H	/ FD CB 20 2C
+	SRA	[%IY + 48],%L	/ FD CB 30 2D
+	SRA	[%IY + 32]	/ FD CB 20 2E
+	SRA	[%IY + 48],%A	/ FD CB 30 2F
+	SLL	[%IY + 16],%B	/ FD CB 10 30
+	SLL	[%IY + 32],%C	/ FD CB 20 31
+	SLL	[%IY + 48],%D	/ FD CB 30 32
+	SLL	[%IY + 64],%E	/ FD CB 40 33
+	SLL	[%IY + 16],%H	/ FD CB 10 34
+	SLL	[%IY + 32],%L	/ FD CB 20 35
+	SLL	[%IY + 48]	/ FD CB 30 36
+	SLL	[%IY + 16],%A	/ FD CB 10 37
+	SRL	[%IY + 32],%B	/ FD CB 20 38
+	SRL	[%IY + 48],%C	/ FD CB 30 39
+	SRL	[%IY + 64],%D	/ FD CB 40 3A
+	SRL	[%IY + 16],%E	/ FD CB 10 3B
+	SRL	[%IY + 32],%H	/ FD CB 20 3C
+	SRL	[%IY + 48],%L	/ FD CB 30 3D
+	SRL	[%IY + 64]	/ FD CB 40 3E
+	SRL	[%IY + 16],%A	/ FD CB 10 3F
+	BIT	0,[%IY + 16]	/ FD CB 10 46
+	BIT	1,[%IY + 32]	/ FD CB 20 4E
+	BIT	2,[%IY + 48]	/ FD CB 30 56
+	BIT	3,[%IY + 64]	/ FD CB 40 5E
+	BIT	4,[%IY + 16]	/ FD CB 10 66
+	BIT	5,[%IY + 32]	/ FD CB 20 6E
+	BIT	6,[%IY + 48]	/ FD CB 30 76
+	BIT	7,[%IY + 64]	/ FD CB 40 7E
+	RES	0,[%IY + 16],%B	/ FD CB 10 80
+	RES	0,[%IY + 32],%C	/ FD CB 20 81
+	RES	0,[%IY + 48],%D	/ FD CB 30 82
+	RES	0,[%IY + 64],%E	/ FD CB 40 83
+	RES	0,[%IY + 16],%H	/ FD CB 10 84
+	RES	0,[%IY + 32],%L	/ FD CB 20 85
+	RES	0,[%IY + 48]	/ FD CB 30 86
+	RES	0,[%IY + 64],%A	/ FD CB 40 87
+	RES	1,[%IY + 16],%B	/ FD CB 10 88
+	RES	1,[%IY + 32],%C	/ FD CB 20 89
+	RES	1,[%IY + 48],%D	/ FD CB 30 8A
+	RES	1,[%IY + 64],%E	/ FD CB 40 8B
+	RES	1,[%IY + 16],%H	/ FD CB 10 8C
+	RES	1,[%IY + 32],%L	/ FD CB 20 8D
+	RES	1,[%IY + 48]	/ FD CB 30 8E
+	RES	1,[%IY + 64],%A	/ FD CB 40 8F
+	RES	2,[%IY + 16],%B	/ FD CB 10 90
+	RES	2,[%IY + 32],%C	/ FD CB 20 91
+	RES	2,[%IY + 48],%D	/ FD CB 30 92
+	RES	2,[%IY + 64],%E	/ FD CB 40 93
+	RES	2,[%IY + 16],%H	/ FD CB 10 94
+	RES	2,[%IY + 32],%L	/ FD CB 20 95
+	RES	2,[%IY + 48]	/ FD CB 30 96
+	RES	2,[%IY + 64],%A	/ FD CB 40 97
+	RES	3,[%IY + 16],%B	/ FD CB 10 98
+	RES	3,[%IY + 32],%C	/ FD CB 20 99
+	RES	3,[%IY + 48],%D	/ FD CB 30 9A
+	RES	3,[%IY + 64],%E	/ FD CB 40 9B
+	RES	3,[%IY + 16],%H	/ FD CB 10 9C
+	RES	3,[%IY + 32],%L	/ FD CB 20 9D
+	RES	3,[%IY + 48]	/ FD CB 30 9E
+	RES	3,[%IY + 64],%A	/ FD CB 40 9F
+	RES	4,[%IY + 16],%B	/ FD CB 10 A0
+	RES	4,[%IY + 32],%C	/ FD CB 20 A1
+	RES	4,[%IY + 48],%D	/ FD CB 30 A2
+	RES	4,[%IY + 64],%E	/ FD CB 40 A3
+	RES	4,[%IY + 16],%H	/ FD CB 10 A4
+	RES	4,[%IY + 32],%L	/ FD CB 20 A5
+	RES	4,[%IY + 48]	/ FD CB 30 A6
+	RES	4,[%IY + 64],%A	/ FD CB 40 A7
+	RES	5,[%IY + 16],%B	/ FD CB 10 A8
+	RES	5,[%IY + 32],%C	/ FD CB 20 A9
+	RES	5,[%IY + 48],%D	/ FD CB 30 AA
+	RES	5,[%IY + 64],%E	/ FD CB 40 AB
+	RES	5,[%IY + 16],%H	/ FD CB 10 AC
+	RES	5,[%IY + 32],%L	/ FD CB 20 AD
+	RES	5,[%IY + 48]	/ FD CB 30 AE
+	RES	5,[%IY + 64],%A	/ FD CB 40 AF
+	RES	6,[%IY + 16],%B	/ FD CB 10 B0
+	RES	6,[%IY + 32],%C	/ FD CB 20 B1
+	RES	6,[%IY + 48],%D	/ FD CB 30 B2
+	RES	6,[%IY + 64],%E	/ FD CB 40 B3
+	RES	6,[%IY + 16],%H	/ FD CB 10 B4
+	RES	6,[%IY + 32],%L	/ FD CB 20 B5
+	RES	6,[%IY + 48]	/ FD CB 30 B6
+	RES	6,[%IY + 64],%A	/ FD CB 40 B7
+	RES	7,[%IY + 16],%B	/ FD CB 10 B8
+	RES	7,[%IY + 32],%C	/ FD CB 20 B9
+	RES	7,[%IY + 48],%D	/ FD CB 30 BA
+	RES	7,[%IY + 64],%E	/ FD CB 40 BB
+	RES	7,[%IY + 16],%H	/ FD CB 10 BC
+	RES	7,[%IY + 32],%L	/ FD CB 20 BD
+	RES	7,[%IY + 48]	/ FD CB 30 BE
+	RES	7,[%IY + 64],%A	/ FD CB 40 BF
+	SET	0,[%IY + 16],%B	/ FD CB 10 C0
+	SET	0,[%IY + 32],%C	/ FD CB 20 C1
+	SET	0,[%IY + 48],%D	/ FD CB 30 C2
+	SET	0,[%IY + 64],%E	/ FD CB 40 C3
+	SET	0,[%IY + 16],%H	/ FD CB 10 C4
+	SET	0,[%IY + 32],%L	/ FD CB 20 C5
+	SET	0,[%IY + 48]	/ FD CB 30 C6
+	SET	0,[%IY + 64],%A	/ FD CB 40 C7
+	SET	1,[%IY + 16],%B	/ FD CB 10 C8
+	SET	1,[%IY + 32],%C	/ FD CB 20 C9
+	SET	1,[%IY + 48],%D	/ FD CB 30 CA
+	SET	1,[%IY + 64],%E	/ FD CB 40 CB
+	SET	1,[%IY + 16],%H	/ FD CB 10 CC
+	SET	1,[%IY + 32],%L	/ FD CB 20 CD
+	SET	1,[%IY + 48]	/ FD CB 30 CE
+	SET	1,[%IY + 64],%A	/ FD CB 40 CF
+	SET	2,[%IY + 16],%B	/ FD CB 10 D0
+	SET	2,[%IY + 32],%C	/ FD CB 20 D1
+	SET	2,[%IY + 48],%D	/ FD CB 30 D2
+	SET	2,[%IY + 64],%E	/ FD CB 40 D3
+	SET	2,[%IY + 16],%H	/ FD CB 10 D4
+	SET	2,[%IY + 32],%L	/ FD CB 20 D5
+	SET	2,[%IY + 48]	/ FD CB 30 D6
+	SET	2,[%IY + 64],%A	/ FD CB 40 D7
+	SET	3,[%IY + 16],%B	/ FD CB 10 D8
+	SET	3,[%IY + 32],%C	/ FD CB 20 D9
+	SET	3,[%IY + 48],%D	/ FD CB 30 DA
+	SET	3,[%IY + 64],%E	/ FD CB 40 DB
+	SET	3,[%IY + 16],%H	/ FD CB 10 DC
+	SET	3,[%IY + 32],%L	/ FD CB 20 DD
+	SET	3,[%IY + 48]	/ FD CB 30 DE
+	SET	3,[%IY + 64],%A	/ FD CB 40 DF
+	SET	4,[%IY + 16],%B	/ FD CB 10 E0
+	SET	4,[%IY + 32],%C	/ FD CB 20 E1
+	SET	4,[%IY + 48],%D	/ FD CB 30 E2
+	SET	4,[%IY + 64],%E	/ FD CB 40 E3
+	SET	4,[%IY + 16],%H	/ FD CB 10 E4
+	SET	4,[%IY + 32],%L	/ FD CB 20 E5
+	SET	4,[%IY + 48]	/ FD CB 30 E6
+	SET	4,[%IY + 64],%A	/ FD CB 40 E7
+	SET	5,[%IY + 16],%B	/ FD CB 10 E8
+	SET	5,[%IY + 32],%C	/ FD CB 20 E9
+	SET	5,[%IY + 48],%D	/ FD CB 30 EA
+	SET	5,[%IY + 64],%E	/ FD CB 40 EB
+	SET	5,[%IY + 16],%H	/ FD CB 10 EC
+	SET	5,[%IY + 32],%L	/ FD CB 20 ED
+	SET	5,[%IY + 48]	/ FD CB 30 EE
+	SET	5,[%IY + 64],%A	/ FD CB 40 EF
+	SET	6,[%IY + 16],%B	/ FD CB 10 F0
+	SET	6,[%IY + 32],%C	/ FD CB 20 F1
+	SET	6,[%IY + 48],%D	/ FD CB 30 F2
+	SET	6,[%IY + 64],%E	/ FD CB 40 F3
+	SET	6,[%IY + 16],%H	/ FD CB 10 F4
+	SET	6,[%IY + 32],%L	/ FD CB 20 F5
+	SET	6,[%IY + 48]	/ FD CB 30 F6
+	SET	6,[%IY + 64],%A	/ FD CB 40 F7
+	SET	7,[%IY + 16],%B	/ FD CB 10 F8
+	SET	7,[%IY + 32],%C	/ FD CB 20 F9
+	SET	7,[%IY + 48],%D	/ FD CB 30 FA
+	SET	7,[%IY + 64],%E	/ FD CB 40 FB
+	SET	7,[%IY + 16],%H	/ FD CB 10 FC
+	SET	7,[%IY + 32],%L	/ FD CB 20 FD
+	SET	7,[%IY + 48]	/ FD CB 30 FE
+	SET	7,[%IY + 64],%A	/ FD CB 40 FF
 	POP	%IY	/ FD E1
-	EX	(%SP),%IY	/ FD E3
+	EX	[%SP],%IY	/ FD E3
 	PUSH	%IY	/ FD E5
-	JP	(%IY)	/ FD E9
+	JP	[%IY]	/ FD E9
 	LD	%SP,%IY	/ FD F9
 	CP	%A,32	/ FE 20
 	RST	56	/ FF