Changes

Jump to: navigation, search

Z80

220 bytes added, 10 March
/* Z80 Instructions */
| add a,(hl) || 10000110 || 2 || 7 (4,3) || + || + || + || + || + || V || 0 || + || a += (hl)
|-
| add a,(Iixy+Dd) || 11i11101 10000110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || + || + || V || 0 || + || a += (Iixy+Dd)
|-
| adc a,R || 10001rrr || 1 || 4 (4) || + || + || + || + || + || V || 0 || + || a += R + cf ||rowspan=5|Add with Carry
| adc a,(hl) || 10001110 || 2 || 7 (4,3) || + || + || + || + || + || V || 0 || + || a += (hl) + cf
|-
| adc a,(Iixy+Dd) || 11i11101 10001110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || + || + || V || 0 || + || a += (Iixy+Dd) + cf
|-
| sub R || 10010rrr || 1 || 4 (4) || + || + || + || + || + || V || 1 || + || a -= R ||rowspan=5|Subtract
| sub (hl) || 10010110 || 2 || 7 (4,3) || + || + || + || + || + || V || 1 || + || a -= (hl)
|-
| sub (Iixy+Dd) || 11i11101 10010110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || + || + || V || 1 || + || a -= (Iixy+Dd)
|-
| sbc a,R || 10011rrr || 1 || 4 (4) || + || + || + || + || + || V || 1 || + || a -= R + cf ||rowspan=5|Subtract with Carry
| sbc a,(hl) || 10011110 || 2 || 7 (4,3) || + || + || + || + || + || V || 1 || + || a -= (hl) + cf
|-
| sbc a,(Iixy+Dd) || 11i11101 10011110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || + || + || V || 1 || + || a -= (Iixy+Dd) + cf
|-
| and R || 10100rrr || 1 || 4 (4) || + || + || + || 1 || + || P || 0 || 0 || a := a AND R ||rowspan=5|Logical AND
| and (hl) || 10100110 || 2 || 7 (4,3) || + || + || + || 1 || + || P || 0 || 0 || a := a AND (hl)
|-
| and (Iixy+Dd) || 11i11101 10100110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || 1 || + || P || 0 || 0 || a := a AND (Iixy+Dd)
|-
| xor R || 10101rrr || 1 || 4 (4) || + || + || + || 0 || + || P || 0 || 0 || a := a XOR R ||rowspan=5|Logical eXclusive OR
| xor (hl) || 10101110 || 2 || 7 (4,3) || + || + || + || 0 || + || P || 0 || 0 || a := a XOR (hl)
|-
| xor (Iixy+Dd) || 11i11101 10101110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || 0 || + || P || 0 || 0 || a := a XOR (Iixy+Dd)
|-
| or R || 10110rrr || 1 || 4 (4) || + || + || + || 0 || + || P || 0 || 0 || a := a OR R ||rowspan=5|Logical Inclusive OR
| or (hl) || 10110110 || 2 || 7 (4,3) || + || + || + || 0 || + || P || 0 || 0 || a := a OR (hl)
|-
| or (Iixy+Dd) || 11i11101 10110110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || 0 || + || P || 0 || 0 || a := a OR (Iixy+Dd)
|-
| cp R || 10111rrr || 1 || 4 (4) || + || + || X || + || X || V || 1 || + || tmp := a - R, f5 := R.5, f3 := R.3 ||rowspan=5|Compare
| cp (hl) || 10111110 || 2 || 7 (4,3) || + || + || X || + || X || V || 1 || + || tmp := a - (hl), f5 := (hl).5, f3 := (hl).3
|-
| cp (Iixy+Dd) || 11i11101 10111110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || X || + || X || V || 1 || + || tmp := a - (Iixy+Dd), f5 := (Iixy+Dd).5, f3 := (Iixy+Dd).3
|-
| dec R || 00rrr101 || 1 || 4 (4) || + || + || + || + || + || V || 1 || - || R -= 1 ||rowspan=4|Decrement
| dec (hl) || 00110101 || 3 || 11 (4,4,3) || + || + || + || + || + || V || 1 || - || (hl) -= 1
|-
| dec (Iixy+Dd) || 11i11101 00110101 dddddddd || 6 || 23 (4,4,3,5,4,3) || + || + || + || + || + || V || 1 || - || (Iixy+Dd) -= 1
|-
| inc R || 00rrr100 || 1 || 4 (4) || + || + || + || + || + || V || 0 || - || R += 1 ||rowspan=4|Increment
| inc (hl) || 00110100 || 3 || 11 (4,4,3) || + || + || + || + || + || V || 0 || - || (hl) += 1
|-
| inc (Iixy+Dd) || 11i11101 00110100 dddddddd || 6 || 23 (4,4,3,5,4,3) || + || + || + || + || + || V || 0 || - || (Iixy+Dd) += 1
|}
| rl (hl) || 11001011 00010110 || 4 || 15 (4,4,4,3) || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).7, (hl) := [(hl) << 1] + ocf
|-
| rl (Iixy+Dd) || 11i11101 11001011 dddddddd 00010110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (Iixy+Dd).7, (Iixy+Dd) := [(Iixy+Dd) << 1] + ocf
|-
| rl (Iixy+Dd)->R || 11i11101 11001011 dddddddd 00010rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (Iixy+Dd).7, (Iixy+Dd) := R := [(Iixy+Dd) << 1] + ocf
|-
| rlca || 00000111 || 1 || 4 (4) || - || - || + || 0 || + || - || 0 || X || cf := a.7, a := [a << 1] + cf ||rowspan=5|Rotate Left Carry
| rlc (hl) || 11001011 00000110 || 4 || 15 (4,4,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) << 1] + cf
|-
| rlc (Iixy+Dd) || 11i11101 11001011 dddddddd 00000110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (Iixy+Dd).7, (Iixy+Dd) := [(Iixy+Dd) << 1] + cf
|-
| rlc (Iixy+Dd)->R || 11i11101 11001011 dddddddd 00000rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (Iixy+Dd).7, (Iixy+Dd) := R := [(Iixy+Dd) << 1] + cf
|-
| rra || 00011111 || 1 || 4 (4) || - || - || + || 0 || + || - || 0 || X || ocf := cf, cf := a.0, a := [a >> 1] + [ocf << 7] ||rowspan=5|Rotate Right
| rr (hl) || 11001011 00011110 || 4 || 15 (4,4,4,3) || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).0, (hl) := [(hl) >> 1] + [ocf << 7]
|-
| rr (Iixy+Dd) || 11i11101 11001011 dddddddd 00011110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (Iixy+Dd).0, (Iixy+Dd) := [(Iixy+Dd) >> 1] + [ocf << 7]
|-
| rr (Iixy+Dd)->R || 11i11101 11001011 dddddddd 00011rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (Iixy+Dd).0, (Iixy+Dd) := R := [(Iixy+Dd) >> 1] + [ocf << 7]
|-
| rrca || 00001111 || 1 || 4 (4) || - || - || + || 0 || + || - || 0 || X || cf := a.0, a := [a >> 1] + [cf << 7] ||rowspan=5|Rotate Right Carry
| rrc (hl) || 11001011 00001110 || 4 || 15 (4,4,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := [(hl) >> 1] + [cf << 7]
|-
| rrc (Iixy+Dd) || 11i11101 11001011 dddddddd 00001110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (Iixy+Dd).0, (Iixy+Dd) := [(Iixy+Dd) >> 1] + [cf << 7]
|-
| rrc (Iixy+Dd)->R || 11i11101 11001011 dddddddd 00001rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (Iixy+Dd).0, (Iixy+Dd) := R := [(Iixy+Dd) >> 1] + [cf << 7]
|-
| sla R || 11001011 00100rrr || 2 || 8 (4,4) || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := R << 1 ||rowspan=4|Shift Left Arithmetic
| sla (hl) || 11001011 00100110 || 4 || 15 (4,4,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := (hl) << 1
|-
| sla (Iixy+Dd) || 11i11101 11001011 dddddddd 00100110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (Iixy+Dd).7, (Iixy+Dd) := (Iixy+Dd) << 1
|-
| sla (Iixy+Dd)->R || 11i11101 11001011 dddddddd 00100rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (Iixy+Dd).7, (Iixy+Dd) := R := (Iixy+Dd) << 1
|-
| sra R || 11001011 00101rrr || 2 || 8 (4,4) || + || + || + || 0 || + || P || 0 || X || cf := R.0, R := R >> 1, R.7 := R.6 ||rowspan=4|Shift Right Arithmetic
| sra (hl) || 11001011 00101110 || 4 || 15 (4,4,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := (hl) >> 1, (hl).7 := (hl).6
|-
| sra (Iixy+Dd) || 11i11101 11001011 dddddddd 00101110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (Iixy+Dd).0, (Iixy+Dd) := (Iixy+Dd) >> 1, (Iixy+Dd).7 := (Iixy+Dd).6
|-
| sra (Iixy+Dd)->R || 11i11101 11001011 dddddddd 00101rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (Iixy+Dd).0, tmp := (Iixy+Dd) >> 1, tmp.7 := tmp.6, (Iixy+Dd) := R := tmp
|-
| sll R || 11001011 00110rrr || 2 || 8 (4,4) || + || + || + || 0 || + || P || 0 || X || cf := R.7, R := [R << 1] + 1 ||rowspan=4|Shift Left Logical
| sll (hl) || 11001011 00110110 || 4 || 15 (4,4,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (hl).7, (hl) := [(hl) << 1] + 1
|-
| sll (Iixy+Dd) || 11i11101 11001011 dddddddd 00110110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (Iixy+Dd).7, (Iixy+Dd) := [(Iixy+Dd) << 1] + 1
|-
| sll (Iixy+Dd)->R || 11i11101 11001011 dddddddd 00110rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (Iixy+Dd).7, (Iixy+Dd) := R := [(Iixy+Dd) << 1] + 1
|-
| srl R || 11001011 00111rrr || 2 || 8 (4,4) || 0 || + || + || 0 || + || P || 0 || X || cf := R.0, R := R >> 1 ||rowspan=4|Shift Right Logical
| srl (hl) || 11001011 00111110 || 4 || 15 (4,4,3) || 0 || + || + || 0 || + || P || 0 || X || cf := (hl).0, (hl) := (hl) >> 1
|-
| srl (Iixy+Dd) || 11i11101 11001011 dddddddd 00111110 || 7 || 23 (4,4,3,5,4,3) || 0 || + || + || 0 || + || P || 0 || X || cf := (Iixy+Dd).0, (Iixy+Dd) := (Iixy+Dd) >> 1
|-
| srl (Iixy+Dd)->R || 11i11101 11001011 dddddddd 00111rrr || 7 || 23 (4,4,3,5,4,3) || 0 || + || + || 0 || + || P || 0 || X || cf := (Iixy+Dd).0, (Iixy+Dd) := R := (Iixy+Dd) >> 1
|}
f5 := wz.13, f3 := wz.11
|-
| bit B,(Iixy+Dd) || 11i11101 11001011 dddddddd 01bbb*** || 6 || 20 (4,4,3,5,4) || + || + || X || 1 || X || P || 0 || - || tmp := (Iixy+Dd) AND [1 << B],f5 := [Iixy+Dd].13, f3 := [Iixy+Dd].11
|-
| res B,R || 11001011 10bbbrrr || 2 || 8 (4,4) || - || - || - || - || - || - || - || - || R := R AND ~[1 << B] ||rowspan=4|Reset Bit
| res B,(hl) || 11001011 10bbb110 || 4 || 15 (4,4,4,3) || - || - || - || - || - || - || - || - || (hl) := (hl) AND ~[1 << B]
|-
| res B,(Iixy+Dd) || 11i11101 11001011 dddddddd 10bbb110 || 7 || 23 (4,4,3,5,4,3) || - || - || - || - || - || - || - || - || (Iixy+Dd) := (Iixy+Dd) AND ~[1 << B]
|-
| res B,(Iixy+Dd)->R || 11i11101 11001011 dddddddd 10bbbrrr || 7 || 23 (4,4,3,5,4,3) || - || - || - || - || - || - || - || - || (Iixy+Dd) := R := (Iixy+Dd) AND ~[1 << B]
|-
| set B,R || 11001011 11bbbrrr || 2 || 8 (4,4) || - || - || - || - || - || - || - || - || R := R OR [1 << B] ||rowspan=4|Set Bit
| set B,(hl) || 11001011 11bbb110 || 4 || 15 (4,4,4,3) || - || - || - || - || - || - || - || - || (hl) := (hl) OR [1 << B]
|-
| set B,(Iixy+Dd) || 11i11101 11001011 dddddddd 11bbb110 || 7 || 23 (4,4,3,5,4,3) || - || - || - || - || - || - || - || - || (Iixy+Dd) := (Iixy+Dd) OR [1 << B]
|-
| set B,(Iixy+Dd)->R || 11i11101 11001011 dddddddd 11bbbrrr || 7 || 23 (4,4,3,5,4,3) || - || - || - || - || - || - || - || - || (Iixy+Dd) := R := (Iixy+Dd) OR [1 << B]
|-
| cpl || 00101111 || 1 || 4 (4) || - || - || + || 1 || + || - || 1 || - || a := ~a || Complement
| ld R,(hl) || 01rrr110 || 2 || 7 (4,3) || - || - || - || - || - || - || - || - || R := (hl)
|-
| ld R,(Iixy+Dd) || 11i11101 01rrr110 dddddddd || 5 || 19 (4,4,3,5,3) || - || - || - || - || - || - || - || - || R := (Iixy+Dd)
|-
| ld (hl),R || 01110rrr || 2 || 7 (4,3) || - || - || - || - || - || - || - || - || (hl) := R
| ld (hl),N || 00110110 nnnnnnnn || 3 || 10 (4,3,3) || - || - || - || - || - || - || - || - || (hl) := N
|-
| ld (Iixy+Dd),R || 11i11101 01110rrr dddddddd || 5 || 19 (4,4,3,5,3) || - || - || - || - || - || - || - || - || (Iixy+Dd) := R
|-
| ld (Iixy+Dd),N || 11i11101 00110110 dddddddd nnnnnnnn || 6 || 19 (4,4,3,5,3) || - || - || - || - || - || - || - || - || (Iixy+Dd) := N
|-
| ld a,(bc) || 00001010 || 2 || 7 (4,3) || - || - || - || - || - || - || - || - || a := (bc)
13,173
edits