Changes

Jump to: navigation, search

Z80

168 bytes removed, 11 March
/* Z80 Instructions */
| inc r || 00rrr100 || 1 || 4 (4) || + || + || + || + || + || V || 0 || - || r += 1 ||rowspan=4|Increment
|-
| inc s || 11b11101 DD/FD 00sss100 || 2 || 8 (4,4) || + || + || + || + || + || V || 0 || - || s += 1
|-
| inc (hl) || 00110100 || 3 || 11 (4,4,3) || + || + || + || + || + || V || 0 || - || (hl) += 1
|-
| inc (ixy+d) || 11b11101 DD/FD 00110100 dddddddd || 6 || 23 (4,4,3,5,4,3) || + || + || + || + || + || V || 0 || - || (ixy+d) += 1
|-
| dec r || 00rrr101 || 1 || 4 (4) || + || + || + || + || + || V || 1 || - || r -= 1 ||rowspan=4|Decrement
|-
| dec s || 11b11101 DD/FD 00sss101 || 2 || 8 (4,4) || + || + || + || + || + || V || 1 || - || s -= 1
|-
| dec (hl) || 00110101 || 3 || 11 (4,4,3) || + || + || + || + || + || V || 1 || - || (hl) -= 1
|-
| dec (ixy+d) || 11b11101 DD/FD 00110101 dddddddd || 6 || 23 (4,4,3,5,4,3) || + || + || + || + || + || V || 1 || - || (ixy+d) -= 1
|-
| add a,r || 10000rrr || 1 || 4 (4) || + || + || + || + || + || V || 0 || + || a += r ||rowspan=5|Add
|-
| add a,s || 11b11101 DD/FD 10000sss || 2 || 8 (4,4) || + || + || + || + || + || V || 0 || + || a += s
|-
| add a,(hl) || 10000110 || 2 || 7 (4,3) || + || + || + || + || + || V || 0 || + || a += (hl)
|-
| add a,(ixy+d) || 11b11101 DD/FD 10000110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || + || + || V || 0 || + || a += (ixy+d)
|-
| add a,n || 11000110 nnnnnnnn || 2 || 7 (4,3) || + || + || + || + || + || V || 0 || + || a += n
| adc a,r || 10001rrr || 1 || 4 (4) || + || + || + || + || + || V || 0 || + || a += r + cf ||rowspan=5|Add with Carry
|-
| adc a,s || 11b11101 DD/FD 10001sss || 2 || 8 (4,4) || + || + || + || + || + || V || 0 || + || a += s + cf
|-
| adc a,(hl) || 10001110 || 2 || 7 (4,3) || + || + || + || + || + || V || 0 || + || a += (hl) + cf
|-
| adc a,(ixy+d) || 11b11101 DD/FD 10001110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || + || + || V || 0 || + || a += (ixy+d) + cf
|-
| adc a,n || 11001110 nnnnnnnn || 2 || 7 (4,3) || + || + || + || + || + || V || 0 || + || a += n + cf
| sub r || 10010rrr || 1 || 4 (4) || + || + || + || + || + || V || 1 || + || a -= r ||rowspan=5|Subtract
|-
| sub s || 11b11101 DD/FD 10010sss || 2 || 8 (4,4) || + || + || + || + || + || V || 1 || + || a -= s
|-
| sub (hl) || 10010110 || 2 || 7 (4,3) || + || + || + || + || + || V || 1 || + || a -= (hl)
|-
| sub (ixy+d) || 11b11101 DD/FD 10010110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || + || + || V || 1 || + || a -= (ixy+d)
|-
| sub n || 11010110 nnnnnnnn || 2 || 7 (4,3) || + || + || + || + || + || V || 1 || + || a -= n
| sbc a,r || 10011rrr || 1 || 4 (4) || + || + || + || + || + || V || 1 || + || a -= r + cf ||rowspan=5|Subtract with Carry
|-
| sbc a,s || 11b11101 DD/FD 10011sss || 2 || 8 (4,4) || + || + || + || + || + || V || 1 || + || a -= s + cf
|-
| sbc a,(hl) || 10011110 || 2 || 7 (4,3) || + || + || + || + || + || V || 1 || + || a -= (hl) + cf
|-
| sbc a,(ixy+d) || 11b11101 DD/FD 10011110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || + || + || V || 1 || + || a -= (ixy+d) + cf
|-
| sbc a,n || 11011110 nnnnnnnn || 2 || 7 (4,3) || + || + || + || + || + || V || 1 || + || a -= n + cf
| and r || 10100rrr || 1 || 4 (4) || + || + || + || 1 || + || P || 0 || 0 || a := a and r ||rowspan=5|Logical AND
|-
| and s || 11b11101 DD/FD 10100sss || 2 || 8 (4,4) || + || + || + || 1 || + || P || 0 || 0 || a := a and s
|-
| and (hl) || 10100110 || 2 || 7 (4,3) || + || + || + || 1 || + || P || 0 || 0 || a := a and (hl)
|-
| and (ixy+d) || 11b11101 DD/FD 10100110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || 1 || + || P || 0 || 0 || a := a and (ixy+d)
|-
| and n || 11100110 nnnnnnnn || 2 || 7 (4,3) || + || + || + || 1 || + || P || 0 || 0 || a := a and n
| xor r || 10101rrr || 1 || 4 (4) || + || + || + || 0 || + || P || 0 || 0 || a := a xor r ||rowspan=5|Logical eXclusive OR
|-
| xor s || 11b11101 DD/FD 10101sss || 2 || 8 (4,4) || + || + || + || 0 || + || P || 0 || 0 || a := a xor s
|-
| xor (hl) || 10101110 || 2 || 7 (4,3) || + || + || + || 0 || + || P || 0 || 0 || a := a xor (hl)
|-
| xor (ixy+d) || 11b11101 DD/FD 10101110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || 0 || + || P || 0 || 0 || a := a xor (ixy+d)
|-
| xor n || 11101110 nnnnnnnn || 2 || 7 (4,3) || + || + || + || 0 || + || P || 0 || 0 || a := a xor n
| or r || 10110rrr || 1 || 4 (4) || + || + || + || 0 || + || P || 0 || 0 || a := a or r ||rowspan=5|Logical Inclusive OR
|-
| or s || 11b11101 DD/FD 10110sss || 2 || 8 (4,4) || + || + || + || 0 || + || P || 0 || 0 || a := a or s
|-
| or (hl) || 10110110 || 2 || 7 (4,3) || + || + || + || 0 || + || P || 0 || 0 || a := a or (hl)
|-
| or (ixy+d) || 11b11101 DD/FD 10110110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || + || 0 || + || P || 0 || 0 || a := a or (ixy+d)
|-
| or n || 11110110 nnnnnnnn || 2 || 7 (4,3) || + || + || + || 0 || + || P || 0 || 0 || a := a or n
| cp r || 10111rrr || 1 || 4 (4) || + || + || X || + || X || V || 1 || + || tmp := a - r, f5 := r.5, f3 := r.3 ||rowspan=5|Compare
|-
| cp s || 11b11101 DD/FD 10111sss || 2 || 8 (4,4) || + || + || X || + || X || V || 1 || + || tmp := a - s, f5 := p.5, f3 := p.3
|-
| cp (hl) || 10111110 || 2 || 7 (4,3) || + || + || X || + || X || V || 1 || + || tmp := a - (hl), f5 := (hl).5, f3 := (hl).3
|-
| cp (ixy+d) || 11b11101 DD/FD 10111110 dddddddd || 5 || 19 (4,4,3,5,3) || + || + || X || + || X || V || 1 || + || tmp := a - (ixy+d), f5 := (ixy+d).5, f3 := (ixy+d).3
|-
| cp n || 11111110 nnnnnnnn || 2 || 7 (4,3) || + || + || X || + || X || V || 1 || + || tmp := a - n, f5 := n.5, f3 := n.3
| inc pp || 00pp0011 || 2 || 6 (6) || - || - || - || - || - || - || - || - || pp += 1 ||rowspan=2|Increment
|-
| inc qq || 11b11101 DD/FD 00qq0011 || 3 || 10 (4,6) || - || - || - || - || - || - || - || - || qq += 1
|-
| dec pp || 00pp1011 || 2 || 6 (6) || - || - || - || - || - || - || - || - || pp -= 1 ||rowspan=2|Decrement
|-
| dec qq || 11b11101 DD/FD 00qq1011 || 3 || 10 (4,6) || - || - || - || - || - || - || - || - || qq -= 1
|-
| add hl,pp || 00pp1001 || 3 || 11 (4,4,3) || - || - || + || + || + || - || 0 || + || hl += pp ||rowspan=2|Add
|-
| add ixy,qq || 11b11101 DD/FD 00qq1001 || 4 || 15 (4,4,4,3) || - || - || + || + || + || - || 0 || + || ixy += qq
|-
| adc hl,qq || 11101101 01qq1010 || 4 || 15 (4,4,4,3) || + || + || + || + || + || V || 0 || + || hl += qq + cf ||Add with Carry
| rl (hl) || 11001011 00010110 || 4 || 15 (4,4,4,3) || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (hl).7, (hl) := [(hl) << 1] + ocf
|-
| rl (ixy+d) || 11b11101 DD/FD 11001011 dddddddd 00010110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (ixy+d).7, (ixy+d) := [(ixy+d) << 1] + ocf
|-
| rl (ixy+d)->r || 11b11101 DD/FD 11001011 dddddddd 00010rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (ixy+d).7, (ixy+d) := r := [(ixy+d) << 1] + ocf
|-
| rlc r || 11001011 00000rrr || 2 || 8 (4,4) || + || + || + || 0 || + || P || 0 || X || cf := r.7, r := [r << 1] + cf ||rowspan=4|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 (ixy+d) || 11b11101 DD/FD 11001011 dddddddd 00000110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (ixy+d).7, (ixy+d) := [(ixy+d) << 1] + cf
|-
| rlc (ixy+d)->r || 11b11101 DD/FD 11001011 dddddddd 00000rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (ixy+d).7, (ixy+d) := r := [(ixy+d) << 1] + cf
|-
| rr r || 11001011 00011rrr || 2 || 8 (4,4) || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := r.0, r := [r >> 1] + [ocf << 7] ||rowspan=4|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 (ixy+d) || 11b11101 DD/FD 11001011 dddddddd 00011110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (ixy+d).0, (ixy+d) := [(ixy+d) >> 1] + [ocf << 7]
|-
| rr (ixy+d)->r || 11b11101 DD/FD 11001011 dddddddd 00011rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || ocf := cf, cf := (ixy+d).0, (ixy+d) := r := [(ixy+d) >> 1] + [ocf << 7]
|-
| rrc r || 11001011 00001rrr || 2 || 8 (4,4) || + || + || + || 0 || + || P || 0 || X || cf := r.0, r := [r >> 1] + [cf << 7] ||rowspan=4|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 (ixy+d) || 11b11101 DD/FD 11001011 dddddddd 00001110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (ixy+d).0, (ixy+d) := [(ixy+d) >> 1] + [cf << 7]
|-
| rrc (ixy+d)->r || 11b11101 DD/FD 11001011 dddddddd 00001rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (ixy+d).0, (ixy+d) := r := [(ixy+d) >> 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 (ixy+d) || 11b11101 DD/FD 11001011 dddddddd 00100110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (ixy+d).7, (ixy+d) := (ixy+d) << 1
|-
| sla (ixy+d)->r || 11b11101 DD/FD 11001011 dddddddd 00100rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (ixy+d).7, (ixy+d) := r := (ixy+d) << 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 (ixy+d) || 11b11101 DD/FD 11001011 dddddddd 00101110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (ixy+d).0, (ixy+d) := (ixy+d) >> 1, (ixy+d).7 := (ixy+d).6
|-
| sra (ixy+d)->r || 11b11101 DD/FD 11001011 dddddddd 00101rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (ixy+d).0, tmp := (ixy+d) >> 1, tmp.7 := tmp.6, (ixy+d) := 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 (ixy+d) || 11b11101 DD/FD 11001011 dddddddd 00110110 || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (ixy+d).7, (ixy+d) := [(ixy+d) << 1] + 1
|-
| sll (ixy+d)->r || 11b11101 DD/FD 11001011 dddddddd 00110rrr || 7 || 23 (4,4,3,5,4,3) || + || + || + || 0 || + || P || 0 || X || cf := (ixy+d).7, (ixy+d) := r := [(ixy+d) << 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 (ixy+d) || 11b11101 DD/FD 11001011 dddddddd 00111110 || 7 || 23 (4,4,3,5,4,3) || 0 || + || + || 0 || + || P || 0 || X || cf := (ixy+d).0, (ixy+d) := (ixy+d) >> 1
|-
| srl (ixy+d)->r || 11b11101 DD/FD 11001011 dddddddd 00111rrr || 7 || 23 (4,4,3,5,4,3) || 0 || + || + || 0 || + || P || 0 || X || cf := (ixy+d).0, (ixy+d) := r := (ixy+d) >> 1
|}
f5 := wz.13, f3 := wz.11
|-
| bit b,(ixy+d) || 11b11101 DD/FD 11001011 dddddddd 01bbb*** || 6 || 20 (4,4,3,5,4) || + || + || X || 1 || X || P || 0 || - || tmp := (ixy+d) and [1 << b],
f5 := [ixy+d].13, f3 := [ixy+d].11
|-
| res b,(hl) || 11001011 10bbb110 || 4 || 15 (4,4,4,3) || - || - || - || - || - || - || - || - || (hl) := (hl) and ~[1 << b]
|-
| res b,(ixy+d) || 11b11101 DD/FD 11001011 dddddddd 10bbb110 || 7 || 23 (4,4,3,5,4,3) || - || - || - || - || - || - || - || - || (ixy+d) := (ixy+d) and ~[1 << b]
|-
| res b,(ixy+d)->r || 11b11101 DD/FD 11001011 dddddddd 10bbbrrr || 7 || 23 (4,4,3,5,4,3) || - || - || - || - || - || - || - || - || (ixy+d) := r := (ixy+d) 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,(ixy+d) || 11b11101 DD/FD 11001011 dddddddd 11bbb110 || 7 || 23 (4,4,3,5,4,3) || - || - || - || - || - || - || - || - || (ixy+d) := (ixy+d) or [1 << b]
|-
| set b,(ixy+d)->r || 11b11101 DD/FD 11001011 dddddddd 11bbbrrr || 7 || 23 (4,4,3,5,4,3) || - || - || - || - || - || - || - || - || (ixy+d) := r := (ixy+d) or [1 << b]
|-
| cpl || 00101111 || 1 || 4 (4) || - || - || + || 1 || + || - || 1 || - || a := ~a || Complement
| jp (hl) || 11101001 || 1 || 4 (4) || - || - || - || - || - || - || - || - || pc := hl
|-
| jp (ixy) || 11b11101 DD/FD 11101001 || 2 || 8 (4,4) || - || - || - || - || - || - || - || - || pc := ixy
|-
| jp cc,nn || 11ccc010 lolololo hihihihi || 3 || 10 (4,3,3) || - || - || - || - || - || - || - || - || if cc then pc := nn || Conditional pump
| pop pp || 11pp0001 || 3 || 10 (4,3,3) || - || - || - || - || - || - || - || - || pp := (sp), sp += 2 ||rowspan=2|Pop a value from the stack
|-
| pop qq || 11b11101 DD/FD 11qq0001 || 4 || 14 (4,4,3,3) || - || - || - || - || - || - || - || - || qq := (sp), sp += 2
|-
| push pp || 11pp0101 || 4 || 11 (5,3,3) || - || - || - || - || - || - || - || - || sp -= 2, (sp) := pp ||rowspan=2|Push a value onto the stack
|-
| push qq || 11b11101 DD/FD 11qq0101 || 5 || 15 (4,5,3,3) || - || - || - || - || - || - || - || - || sp -= 2, (sp) := qq
|-
| ld sp,hl || 11111001 || 2 || 6 (6) || - || - || - || - || - || - || - || - || sp := hl ||rowspan=2|Stack Pointer Load
|-
| ld sp,ixy || 11b11101 DD/FD 11111001 || 3 || 10 (4,6) || - || - || - || - || - || - || - || - || sp := ixy
|-
| exx || 11011001 || 1 || 4 (4) || - || - || - || - || - || - || - || - || bc, de, hl <=> bc', de', hl' ||rowspan=5|Exchange
| ex (sp),hl || 11100011 || 6 || 19 (4,3,4,3,5) || - || - || - || - || - || - || - || - || (sp) <=> hl
|-
| ex (sp),ixy || 11b11101 DD/FD 11100011 || 7 || 23 (4,4,3,4,3,5) || - || - || - || - || - || - || - || - || (sp) <=> ixy
|-
| ex af,af' || 00001000 || 1 || 4 (4) || X || X || X || X || X || X || X || X || af <=> af'
| ld r,(hl) || 01rrr110 || 2 || 7 (4,3) || - || - || - || - || - || - || - || - || r := (hl)
|-
| ld s1,s2 || 11b11101 DD/FD 01sssttt || 2 || 8 (4,4) || - || - || - || - || - || - || - || - || s1 := s2
|-
| ld (ixy+d),r || 11b11101 DD/FD 01110rrr dddddddd || 5 || 19 (4,4,3,5,3) || - || - || - || - || - || - || - || - || (ixy+d) := r
|-
| ld r,(ixy+d) || 11b11101 DD/FD 01rrr110 dddddddd || 5 || 19 (4,4,3,5,3) || - || - || - || - || - || - || - || - || r := (ixy+d)
|-
| ld r,n || 00rrr110 nnnnnnnn || 2 || 7 (4,3) || - || - || - || - || - || - || - || - || r := n
| ld (hl),n || 00110110 nnnnnnnn || 3 || 10 (4,3,3) || - || - || - || - || - || - || - || - || (hl) := n
|-
| ld (ixy+d),n || 11b11101 DD/FD 00110110 dddddddd nnnnnnnn || 6 || 19 (4,4,3,5,3) || - || - || - || - || - || - || - || - || (ixy+d) := n
|-
| ld (bc),a || 00000010 || 2 || 7 (4,3) || - || - || - || - || - || - || - || - || (bc) := a
| ld dd,nn || 00qq0001 lolololo hihihihi || 3 || 10 (4,3,3) || - || - || - || - || - || - || - || - || dd := nn ||rowspan=10|16-bit Load
|-
| ld ixy,nn || 11b11101 DD/FD 00100001 lolololo hihihihi || 4 || 14 (4,4,3,3) || - || - || - || - || - || - || - || - || ixy := nn
|-
| ld (nn),dd || 11101101 01qq0011 lolololo hihihihi || 6 || 20 (4,4,3,3,3,3) || - || - || - || - || - || - || - || - || (nn) := dd
| ld (nn),hl || 00100010 lolololo hihihihi || 5 || 16 (4,3,3,3,3) || - || - || - || - || - || - || - || - || (nn) := hl
|-
| ld (nn),ixy || 11b11101 DD/FD 00100010 lolololo hihihihi || 6 || 20 (4,4,3,3,3,3) || - || - || - || - || - || - || - || - || (nn) := ixy
|-
| ld hl,(nn) || 00101010 lolololo hihihihi || 5 || 16 (4,3,3,3,3) || - || - || - || - || - || - || - || - || hl := (nn)
|-
| ld ixy,(nn) || 11b11101 DD/FD 00101010 lolololo hihihihi || 6 || 20 (4,4,3,3,3,3) || - || - || - || - || - || - || - || - || ixy := (nn)
|}
13,173
edits