SRA Rotate bits right with Carry and store in register
Undocumented Rotate bits right with carry and store in register
This instruction performs an SRA (IX+dd)
or SRA (IX+dd)
operation but then also stores
the result in a register as well as in the memory location.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
---|---|---|---|---|---|---|---|---|
SRA r,(IX+d) | ||||||||
1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | DD |
1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | CB |
d | ||||||||
0 | 0 | 1 | 0 | 1 | r | |||
SRA r,(IY+d) | ||||||||
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | FD |
1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | CB |
d | ||||||||
0 | 0 | 1 | 0 | 1 | r |
Register | r |
---|---|
B | 000 |
C | 001 |
D | 010 |
E | 011 |
H | 100 |
L | 101 |
A | 111 |
Note: r=%110 does exist. It doesn't do a copy into a register as it's the existing official, documented instruction.
Opcode Matrix
A | B | C | D | E | H | L | |
---|---|---|---|---|---|---|---|
(IX+d) |
SRA A,(IX+d)
DDCBnn2F |
SRA B,(IX+d)
DDCBnn28 |
SRA C,(IX+d)
DDCBnn29 |
SRA D,(IX+d)
DDCBnn2A |
SRA E,(IX+d)
DDCBnn2B |
SRA H,(IX+d)
DDCBnn2C |
SRA L,(IX+d)
DDCBnn2D |
(IY+d) |
SRA A,(IY+d)
FDCBnn2F |
SRA B,(IY+d)
FDCBnn28 |
SRA C,(IY+d)
FDCBnn29 |
SRA D,(IY+d)
FDCBnn2A |
SRA E,(IY+d)
FDCBnn2B |
SRA H,(IY+d)
FDCBnn2C |
SRA L,(IY+d)
FDCBnn2D |
Instruction
Opcode hex
| Undocumented |
Last modified November 9, 2021: Add undocumented auto-copy SLA, SLL, SRA and SRL (eb58692)