shithub: scc

Download patch

ref: 62c82ec73e2655936fa467754271563b9a6e5cb3
parent: 4794e296605fb26f7130e359d8862cb83903d8df
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Mon Dec 18 07:35:36 EST 2017

[as-z80] Add undocumented (and strange) rotate operations

These are really strange operations, and they are usually not used.
I have to verify how R800 works with these instructions.

--- a/as/target/x80/x80.dat
+++ b/as/target/x80/x80.dat
@@ -249,38 +249,54 @@
 RLC	(HL)	2	0xcb,0x06	noargs	Z80,R800
 RLC	(IX+n)	4	0xdd,0xcb,0x06	idx	Z80,R800
 RLC	(IY+n)	4	0xfd,0xcb,0x06	idx	Z80,R800
+RLC	(IX+n),r	4	0xdd,0xcb,0,0x00	idx_r8	Z80,R800
+RLC	(IY+n),r	4	0xfd,0xcb,0,0x00	idx_r8	Z80,R800
 
 RL	r	2	0xcb,0x10	r8	Z80,R800
 RL	(HL)	2	0xcb,0x16	noargs	Z80,R800
 RL	(IX+n)	4	0xdd,0xcb,0x16	idx	Z80,R800
 RL	(IY+n)	4	0xfd,0xcb,0x16	idx	Z80,R800
+RL	(IX+n),r	4	0xdd,0xcb,0,0x10	idx_r8	Z80,R800
+RL	(IY+n),r	4	0xfd,0xcb,0,0x10	idx_r8	Z80,R800
 
 RRC	r	2	0xcb,0x08	r8	Z80,R800
 RRC	(HL)	2	0xcb,0x06	noargs	Z80,R800
 RRC	(IX+n)	4	0xdd,0xcb,0x06	idx	Z80,R800
 RRC	(IY+n)	4	0xfd,0xcb,0x06	idx	Z80,R800
+RRC	(IX+n),r	4	0xdd,0xcb,0,0x08	idx_r8	Z80,R800
+RRC	(IY+n),r	4	0xfd,0xcb,0,0x08	idx_r8	Z80,R800
 
 RR	r	2	0xcb,0x18	r8	Z80,R800
 RR	(HL)	2	0xcb,0x1e	noargs	Z80,R800
 RR	(IX+n)	4	0xdd,0xcb,0x1e	idx	Z80,R800
 RR	(IY+n)	4	0xfd,0xcb,0x1e	idx	Z80,R800
+RR	(IX+n),r	4	0xdd,0xcb,0,0x18	idx_r8	Z80,R800
+RR	(IY+n),r	4	0xfd,0xcb,0,0x18	idx_r8	Z80,R800
 
 SLA	r	2	0xcb,0x20	r8	Z80,R800
 SLA	(HL)	2	0xcb,0x26	noargs	Z80,R800
 SLA	(IX+n)	4	0xdd,0xcb,0x26	idx	Z80,R800
 SLA	(IY+n)	4	0xfd,0xcb,0x26	idx	Z80,R800
+SLA	(IX+n),r	4	0xdd,0xcb,0,0x20	idx_r8	Z80,R800
+SLA	(IY+n),r	4	0xfd,0xcb,0,0x20	idx_r8	Z80,R800
 
 SLL	r	2	0xcb,0x30	r8	Z80
 SLL	(HL)	2	0xcb,0x36	noargs	Z80
 SLL	(IX+n)	4	0xdd,0xcb,0x36	idx	Z80
 SLL	(IY+n)	4	0xfd,0xcb,0x36	idx	Z80
+SLL	(IX+n),r	4	0xdd,0xcb,0,0x30	idx_r8	Z80
+SLL	(IY+n),r	4	0xfd,0xcb,0,0x30	idx_r8	Z80
 
 SRA	r	2	0xcb,0x28	r8	Z80,R800
 SRA	(HL)	2	0xcb,0x2e	noargs	Z80,R800
 SRA	(IX+n)	4	0xdd,0xcb,0x2e	idx	Z80,R800
 SRA	(IY+n)	4	0xfd,0xcb,0x2e	idx	Z80,R800
+SRA	(IX+n),r	4	0xdd,0xcb,0,0x28	idx_r8	Z80,R800
+SRA	(IY+n),r	4	0xfd,0xcb,0,0x28	idx_r8	Z80,R800
 
 SRL	r	2	0xcb,0x38	r8	Z80,R800
 SRL	(HL)	2	0xcb,0x3e	noargs	Z80,R800
 SRL	(IX+n)	4	0xdd,0xcb,0x3e	idx	Z80,R800
 SRL	(IY+n)	4	0xfd,0xcb,0x3e	idx	Z80,R800
+SRL	(IX+n),r	4	0xdd,0xcb,0,0x38	idx_r8	Z80,R800
+SRL	(IY+n),r	4	0xfd,0xcb,0,0x38	idx_r8	Z80,R800