Changes

Z80

894 bytes added, 28 April
/* ROT group */
{| class="wikitable" style="white-space: nowrap;"
|-
! Instruction !! Opcode !! NOPs !! Cycles !! M-Cycle Sequence !! S !! Z !! 5 !! H !! 3 !! P !! N !! C !! Effect !! Description
|-
| rlca || 00000111 || 1 || 4 (4) || M1 || rowspan=4|- || rowspan=4|- || rowspan=4|+ || rowspan=4|0 || rowspan=4|+ || rowspan=4|- || rowspan=4|0 || rowspan=4|X || cf := a.7, a := [a << 1] + cf ||rowspan=4|Fast Rotate
|-
| rrca || 00001111 || 1 || 4 (4) || M1 || cf := a.0, a := [a >> 1] + [cf << 7]
|-
| rla || 00010111 || 1 || 4 (4) || M1 || ocf := cf, cf := a.7, a := [a << 1] + ocf
|-
| rra || 00011111 || 1 || 4 (4) || M1 || ocf := cf, cf := a.0, a := [a >> 1] + [ocf << 7]
|-
| rl r || CB 00010rrr || 2 || 8 (4,4) || M1, M1 || rowspan=4|+ || rowspan=4|+ || rowspan=4|+ || rowspan=4|0 || rowspan=4|+ || rowspan=4|P || rowspan=4|0 || rowspan=4|X || ocf := cf, cf := r.7, r := [r << 1] + ocf ||rowspan=4|Rotate Left
|-
| rl (hl) || CB 00010110 || 4 || 15 (4,4,43,1,3) || M1, M1, MR, INT(1), MW || ocf := cf, cf := (hl).7, (hl) := [(hl) << 1] + ocf
|-
| rl (ixy+d) || DD/FD CB dddddddd 00010110 || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || ocf := cf, cf := (ixy+d).7, (ixy+d) := [(ixy+d) << 1] + ocf
|-
| rl (ixy+d)->r || DD/FD CB dddddddd 00010rrr || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || ocf := cf, cf := (ixy+d).7, (ixy+d) := r := [(ixy+d) << 1] + ocf
|-
| rlc r || CB 00000rrr || 2 || 8 (4,4) || M1, M1 || rowspan=4|+ || rowspan=4|+ || rowspan=4|+ || rowspan=4|0 || rowspan=4|+ || rowspan=4|P || rowspan=4|0 || rowspan=4|X || cf := r.7, r := [r << 1] + cf ||rowspan=4|Rotate Left Carry
|-
| rlc (hl) || CB 00000110 || 4 || 15 (4,4,43,1,3) || M1, M1, MR, INT(1), MW || cf := (hl).7, (hl) := [(hl) << 1] + cf
|-
| rlc (ixy+d) || DD/FD CB dddddddd 00000110 || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || cf := (ixy+d).7, (ixy+d) := [(ixy+d) << 1] + cf
|-
| rlc (ixy+d)->r || DD/FD CB dddddddd 00000rrr || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || cf := (ixy+d).7, (ixy+d) := r := [(ixy+d) << 1] + cf
|-
| rr r || CB 00011rrr || 2 || 8 (4,4) || M1, M1 || rowspan=4|+ || rowspan=4|+ || rowspan=4|+ || rowspan=4|0 || rowspan=4|+ || rowspan=4|P || rowspan=4|0 || rowspan=4|X || ocf := cf, cf := r.0, r := [r >> 1] + [ocf << 7] ||rowspan=4|Rotate Right
|-
| rr (hl) || CB 00011110 || 4 || 15 (4,4,43,1,3) || M1, M1, MR, INT(1), MW || ocf := cf, cf := (hl).0, (hl) := [(hl) >> 1] + [ocf << 7]
|-
| rr (ixy+d) || DD/FD CB dddddddd 00011110 || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || ocf := cf, cf := (ixy+d).0, (ixy+d) := [(ixy+d) >> 1] + [ocf << 7]
|-
| rr (ixy+d)->r || DD/FD CB dddddddd 00011rrr || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || ocf := cf, cf := (ixy+d).0, (ixy+d) := r := [(ixy+d) >> 1] + [ocf << 7]
|-
| rrc r || CB 00001rrr || 2 || 8 (4,4) || M1, M1 || rowspan=4|+ || rowspan=4|+ || rowspan=4|+ || rowspan=4|0 || rowspan=4|+ || rowspan=4|P || rowspan=4|0 || rowspan=4|X || cf := r.0, r := [r >> 1] + [cf << 7] ||rowspan=4|Rotate Right Carry
|-
| rrc (hl) || CB 00001110 || 4 || 15 (4,4,43,1,3) || M1, M1, MR, INT(1), MW || cf := (hl).0, (hl) := [(hl) >> 1] + [cf << 7]
|-
| rrc (ixy+d) || DD/FD CB dddddddd 00001110 || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || cf := (ixy+d).0, (ixy+d) := [(ixy+d) >> 1] + [cf << 7]
|-
| rrc (ixy+d)->r || DD/FD CB dddddddd 00001rrr || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || cf := (ixy+d).0, (ixy+d) := r := [(ixy+d) >> 1] + [cf << 7]
|-
| sla r || CB 00100rrr || 2 || 8 (4,4) || M1, M1 || rowspan=4|+ || rowspan=4|+ || rowspan=4|+ || rowspan=4|0 || rowspan=4|+ || rowspan=4|P || rowspan=4|0 || rowspan=4|X || cf := r.7, r := r << 1 ||rowspan=4|Shift Left Arithmetic
|-
| sla (hl) || CB 00100110 || 4 || 15 (4,4,43,1,3) || M1, M1, MR, INT(1), MW || cf := (hl).7, (hl) := (hl) << 1
|-
| sla (ixy+d) || DD/FD CB dddddddd 00100110 || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || cf := (ixy+d).7, (ixy+d) := (ixy+d) << 1
|-
| sla (ixy+d)->r || DD/FD CB dddddddd 00100rrr || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || cf := (ixy+d).7, (ixy+d) := r := (ixy+d) << 1
|-
| sra r || CB 00101rrr || 2 || 8 (4,4) || M1, M1 || rowspan=4|+ || rowspan=4|+ || rowspan=4|+ || rowspan=4|0 || rowspan=4|+ || rowspan=4|P || rowspan=4|0 || rowspan=4|X || cf := r.0, r := r >> 1, r.7 := r.6 ||rowspan=4|Shift Right Arithmetic
|-
| sra (hl) || CB 00101110 || 4 || 15 (4,4,43,1,3) || M1, M1, MR, INT(1), MW || cf := (hl).0, (hl) := (hl) >> 1, (hl).7 := (hl).6
|-
| sra (ixy+d) || DD/FD CB dddddddd 00101110 || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || cf := (ixy+d).0, (ixy+d) := (ixy+d) >> 1, (ixy+d).7 := (ixy+d).6
|-
| sra (ixy+d)->r || DD/FD CB dddddddd 00101rrr || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || cf := (ixy+d).0, tmp := (ixy+d) >> 1, tmp.7 := tmp.6, (ixy+d) := r := tmp
|-
| sll r || CB 00110rrr || 2 || 8 (4,4) || M1, M1 || rowspan=4|+ || rowspan=4|+ || rowspan=4|+ || rowspan=4|0 || rowspan=4|+ || rowspan=4|P || rowspan=4|0 || rowspan=4|X || cf := r.7, r := [r << 1] + 1 ||rowspan=4|Shift Left Logical
|-
| sll (hl) || CB 00110110 || 4 || 15 (4,4,43,1,3) || M1, M1, MR, INT(1), MW || cf := (hl).7, (hl) := [(hl) << 1] + 1
|-
| sll (ixy+d) || DD/FD CB dddddddd 00110110 || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || cf := (ixy+d).7, (ixy+d) := [(ixy+d) << 1] + 1
|-
| sll (ixy+d)->r || DD/FD CB dddddddd 00110rrr || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || cf := (ixy+d).7, (ixy+d) := r := [(ixy+d) << 1] + 1
|-
| srl r || CB 00111rrr || 2 || 8 (4,4) || M1, M1 || rowspan=4|0 || rowspan=4|+ || rowspan=4|+ || rowspan=4|0 || rowspan=4|+ || rowspan=4|P || rowspan=4|0 || rowspan=4|X || cf := r.0, r := r >> 1 ||rowspan=4|Shift Right Logical
|-
| srl (hl) || CB 00111110 || 4 || 15 (4,4,3,1,3) || M1, M1, MR, INT(1), MW || cf := (hl).0, (hl) := (hl) >> 1
|-
| srl (ixy+d) || DD/FD CB dddddddd 00111110 || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || cf := (ixy+d).0, (ixy+d) := (ixy+d) >> 1
|-
| srl (ixy+d)->r || DD/FD CB dddddddd 00111rrr || 7 || 23 (4,4,3,5,4,3) || M1, M1, MR, INT(5), INT(4), MW || cf := (ixy+d).0, (ixy+d) := r := (ixy+d) >> 1
|}
13,173
edits