Changes

Jump to: navigation, search

Z80

64 bytes added, 28 April
/* ROT group */
| rl (hl) || CB 00010110 || 4 || 15 (4,4,4,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, MR, INT(52), MR, INT(1), 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, MR, INT(52), MR, INT(1), 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,4,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, MR, INT(52), MR, INT(1), 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, MR, INT(52), MR, INT(1), 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,4,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, MR, INT(52), MR, INT(1), 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, MR, INT(52), MR, INT(1), 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,4,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, MR, INT(52), MR, INT(1), 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, MR, INT(52), MR, INT(1), 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,4,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, MR, INT(52), MR, INT(1), 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, MR, INT(52), MR, INT(1), 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,4,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, MR, INT(52), MR, INT(1), 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, MR, INT(52), MR, INT(1), 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,4,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, MR, INT(52), MR, INT(1), 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, MR, INT(52), MR, INT(1), 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,4,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, MR, INT(52), MR, INT(1), 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, MR, INT(52), MR, INT(1), MW || cf := (ixy+d).0, (ixy+d) := r := (ixy+d) >> 1
|}
13,173
edits