* | e | f | g | 0 | /0 | 1 | /1 | 2 | /2 | 6 | /6 | 7 | /7 | 3 | /3 | 4 | /4 | 5 | /5 | Instruction | Description | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
98 | . | 1 | . | . | . | 1 | . | 1 | 1 | . | . | 1 | . | 1 | . | . | . | 1 | 1 | . | 1101x011 | e | out (*),a/in a,(*) |
97 | . | 1 | . | . | . | 1 | . | 1 | 1 | . | . | 1 | . | 1 | . | . | . | 1 | . | 1 | 1111x011 | e | di/ei |
96 | . | . | . | 1 | 1 | . | . | 1 | . | 1 | . | 1 | 1 | . | . | . | . | . | . | . | 01xxx110 | g | im n |
95 | . | 1 | . | . | 1 | . | . | 1 | . | 1 | . | 1 | 1 | . | 1 | . | . | 1 | . | 1 | 01110110 | e | halt |
GND | |||||||||||||||||||||||
94 | . | . | . | 1 | 1 | . | 1 | . | 1 | . | 1 | . | . | 1 | . | . | . | . | . | 1 | 101xx000 | g | ldi/ldir/ldd/lddr |
93 | . | . | . | 1 | . | 1 | 1 | . | 1 | . | 1 | . | . | 1 | . | . | . | . | . | 1 | 101xx001 | g | cpi/cpir/cpd/cpdr |
92 | . | 1 | . | . | . | 1 | . | 1 | . | 1 | 1 | . | 1 | . | 1 | . | . | 1 | . | 1 | 00110111 | e | scf |
91 | . | . | . | 1 | . | . | . | 1 | 1 | . | 1 | . | . | 1 | . | . | . | . | . | 1 | 101xx01x | g | inx/outx/inxr/otxr |
90 | . | 1 | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | . | . | 1 | 1 | . | 00010000 | e | djnz * |
89 | . | 1 | . | . | . | 1 | . | 1 | . | 1 | 1 | . | 1 | . | . | 1 | . | 1 | . | 1 | 00111111 | e | ccf |
88 | 1 | . | . | . | . | . | . | . | . | . | . | . | . | . | . | 1 | 1 | . | . | 1 | xx101xxx | d | 101 (XOR) |
87 | . | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | 1 | . | . | . | . | 1 | 1 | . | 0101x111 | g | ld a,i / ld a,r |
GND | |||||||||||||||||||||||
86 | 1 | . | . | . | . | . | . | . | . | . | . | . | . | . | 1 | . | . | 1 | . | 1 | xx110xxx | d | 110 (OR) |
85 | 1 | . | . | . | . | . | . | . | . | . | . | . | . | . | 1 | . | 1 | . | . | 1 | xx100xxx | d | 100 (AND) |
--- bit 3 | |||||||||||||||||||||||
84 | 1 | . | . | . | . | . | . | . | . | . | . | . | . | . | 1 | . | 1 | . | 1 | . | xx000xxx | d | 000 (ADD) |
83 | . | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | 1 | . | . | . | . | 1 | 1 | . | 0101x111 | g | ld a,i / ld a,r at top, clk at bottom |
82 | . | . | . | 1 | 1 | . | 1 | . | . | 1 | . | 1 | 1 | . | . | . | . | . | . | . | 01xxx100 | g | neg |
81 | . | 1 | . | . | . | 1 | . | 1 | . | 1 | 1 | . | 1 | . | . | 1 | 1 | . | . | 1 | 00101111 | e | cpl |
80 | 1 | . | . | . | . | . | . | . | . | . | . | . | . | . | . | 1 | 1 | . | 1 | . | xx001xxx | d | 001 (ADC) |
GND | |||||||||||||||||||||||
79 | 1 | . | . | . | . | . | . | . | . | . | . | . | . | . | . | 1 | . | 1 | 1 | . | xx011xxx | d | 011 (SBC) |
78 | 1 | . | . | . | . | . | . | . | . | . | . | . | . | . | 1 | . | . | 1 | 1 | . | xx010xxx | d | 010 (SUB) |
--- bit 4 | |||||||||||||||||||||||
77 | . | 1 | . | . | . | 1 | . | 1 | . | 1 | 1 | . | 1 | . | 1 | . | 1 | . | . | 1 | 00100111 | e | daa |
76 | 1 | . | . | . | . | . | . | . | . | . | . | . | . | . | . | 1 | . | 1 | . | 1 | xx111xxx | d | 111 (CP) |
75 | . | 1 | . | . | . | 1 | 1 | . | . | 1 | 1 | . | 1 | . | . | . | . | . | . | . | 00xxx101 | e | dec |
74 | . | . | 1 | . | . | . | . | . | . | . | . | 1 | . | 1 | . | . | . | . | . | . | 11xxxxxx | f | cb:set |
73 | . | . | 1 | . | . | . | . | . | . | . | 1 | . | . | 1 | . | . | . | . | . | . | 10xxxxxx | f | cb:res |
72 | . | . | 1 | . | . | . | . | . | . | . | . | 1 | 1 | . | . | . | . | . | . | . | 01xxxxxx | f | cb:bit |
GND | |||||||||||||||||||||||
71 | . | 1 | . | . | . | 1 | . | 1 | . | 1 | 1 | . | 1 | . | . | . | . | . | 1 | . | 000xx111 | e | rlca/rla/rrca/rra |
70 | . | . | 1 | . | . | . | . | . | . | . | 1 | . | 1 | . | . | . | . | . | . | . | 00xxxxxx | f | cb:rotate/shift |
69 | . | 1 | . | . | . | 1 | 1 | . | 1 | . | 1 | . | 1 | . | . | 1 | . | . | . | . | 00xx1001 | e | add hl,rr |
68 | . | . | . | 1 | 1 | . | . | 1 | 1 | . | . | 1 | 1 | . | . | . | . | . | . | . | 01xxx010 | g | ed:adc/sbc |
67 | . | . | . | 1 | 1 | . | 1 | . | 1 | . | . | 1 | 1 | . | . | . | . | . | . | . | 01xxx000 | g | in |
66 | . | 1 | . | . | . | . | 1 | . | . | 1 | 1 | . | 1 | . | . | . | . | . | . | . | 00xxx10x | e | inc/dec |
65 | . | 1 | . | . | . | . | . | . | . | . | 1 | . | . | 1 | . | . | . | . | . | . | 10xxxxxx | e | add/sub/and/or/xor/cmp a,r |
64 | . | 1 | . | . | 1 | . | . | 1 | . | 1 | . | 1 | . | 1 | . | . | . | . | . | . | 11xxx110 | e | add/sub/and/or/xor/cmp a,imm |
--- | |||||||||||||||||||||||
GND | |||||||||||||||||||||||
63 | . | 1 | . | . | 1 | . | . | 1 | . | 1 | 1 | . | 1 | . | . | . | . | . | . | . | 00xxx110 | e | ld r,* |
62 | . | . | 1 | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | xxxxxxxx | f | all f |
--- | |||||||||||||||||||||||
61 | . | 1 | . | . | . | . | . | . | . | . | . | 1 | 1 | . | . | . | . | . | . | . | 01xxxxxx | e | ld |
60 | . | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | 1 | . | . | . | 1 | . | . | 1 | 0110x111 | g | rrd/rld |
--- | |||||||||||||||||||||||
--- | |||||||||||||||||||||||
--- | |||||||||||||||||||||||
GND | |||||||||||||||||||||||
59 | 1 | 1 | . | . | . | . | . | . | . | . | . | 1 | 1 | . | 1 | . | . | 1 | . | 1 | 01110xxx | ce | ld (hl),r (and hlt) |
58 | 1 | 1 | . | . | 1 | . | . | 1 | . | 1 | . | 1 | 1 | . | . | . | . | . | . | . | 01xxx110 | ce | ld r, (hl) (and hlt) |
--- | |||||||||||||||||||||||
57 | . | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | 1 | . | . | . | 1 | . | 1 | . | 0100x111 | g | ld i,a / ld r,a |
56 | . | 1 | . | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | . | . | . | . | . | . | 11xxx111 | e | rst, bit 3 at bottom |
55 | . | . | 1 | . | 1 | . | . | 1 | . | 1 | . | . | . | . | . | . | . | . | . | . | xxxxx110 | f | cb: op (hl) |
54 | 1 | . | 1 | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | xxxxxxxx | bf | |
--- bit /0 | |||||||||||||||||||||||
53 | . | 1 | . | . | . | . | 1 | . | . | 1 | 1 | . | 1 | . | 1 | . | . | 1 | . | 1 | 0011010x | e | inc/dec (hl) |
GND | |||||||||||||||||||||||
52 | . | 1 | . | . | 1 | . | . | 1 | . | 1 | 1 | . | . | 1 | . | . | . | . | . | . | 10xxx110 | e | add/sub/and/or/xor/cp (hl) |
--- bit 4 | |||||||||||||||||||||||
51 | . | 1 | . | . | . | 1 | 1 | . | . | 1 | . | 1 | . | 1 | . | 1 | 1 | . | . | 1 | 11101101 | e | EXTD |
--- bit /1 | |||||||||||||||||||||||
--- bit /2 | |||||||||||||||||||||||
50 | . | 1 | . | . | 1 | . | . | 1 | . | 1 | 1 | . | 1 | . | 1 | . | . | 1 | . | 1 | 00110110 | e | ld (hl),* |
49 | 1 | . | . | . | . | 1 | . | 1 | 1 | . | . | 1 | . | 1 | . | 1 | 1 | . | 1 | . | 11001011 | b | BITS |
48 | . | 1 | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | . | . | . | . | . | . | 1 | 001xx000 | e | jr cc,* |
GND | |||||||||||||||||||||||
47 | . | 1 | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | . | . | 1 | . | 1 | 1 | . | 00011000 | e | jr * |
46 | . | . | . | 1 | . | 1 | 1 | . | . | 1 | . | 1 | 1 | . | . | . | . | . | . | . | 01xxx101 | g | retx |
45 | . | 1 | . | . | 1 | . | 1 | . | 1 | . | . | 1 | . | 1 | . | . | . | . | . | . | 11xxx000 | e | ret cc |
44 | . | 1 | . | . | . | 1 | . | 1 | 1 | . | . | 1 | . | 1 | . | 1 | 1 | . | 1 | . | 11001011 | e | BITS |
43 | . | 1 | . | . | 1 | . | . | 1 | 1 | . | . | 1 | . | 1 | . | . | . | . | . | . | 11xxx010 | e | jp cc,** |
42 | . | 1 | . | . | 1 | . | 1 | . | . | 1 | . | 1 | . | 1 | . | . | . | . | . | . | 11xxx100 | e | call cc,** |
41 | . | 1 | . | . | . | 1 | 1 | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | . | . | 11x11101 | e | IX/IY |
40 | 1 | 1 | . | . | 1 | . | . | 1 | . | 1 | 1 | . | 1 | . | 1 | . | . | 1 | . | 1 | 00110110 | be | ld (hl),* |
GND | |||||||||||||||||||||||
39 | . | 1 | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | . | . | 1 | 1 | . | 1 | . | 00001000 | e | ex af,af' |
38 | . | 1 | . | . | 1 | . | . | 1 | 1 | . | 1 | . | 1 | . | . | . | . | 1 | . | 1 | 0011x010 | e | ld (**),a/a,(**) |
37 | . | 1 | . | . | . | 1 | . | 1 | 1 | . | . | 1 | . | 1 | . | . | . | 1 | 1 | . | 1101x011 | e | out (*),a/a,(*) |
36 | . | 1 | . | . | 1 | . | . | 1 | 1 | . | 1 | . | 1 | . | . | . | . | . | 1 | . | 000xx010 | e | ld(rr),a/a,(rr) |
35 | . | 1 | . | . | . | 1 | 1 | . | 1 | . | . | 1 | . | 1 | . | 1 | 1 | . | 1 | . | 11001001 | e | ret |
34 | . | . | . | 1 | . | 1 | 1 | . | 1 | . | . | 1 | 1 | . | . | . | . | . | . | . | 01xxx001 | g | out (c),r |
33 | . | . | . | 1 | . | 1 | . | 1 | 1 | . | . | 1 | 1 | . | 1 | . | . | . | . | . | 01xx0011 | g | ld (**),rr |
32 | . | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | 1 | . | . | . | . | . | 1 | . | 010xx111 | g | ld i,a/a,i/r,a/a,r |
GND | |||||||||||||||||||||||
--- | |||||||||||||||||||||||
31 | . | . | . | 1 | . | 1 | . | 1 | 1 | . | . | 1 | 1 | . | . | . | . | . | . | . | 01xxx011 | g | ld rr,**/**,rr |
30 | . | 1 | . | . | 1 | . | . | 1 | 1 | . | 1 | . | 1 | . | . | . | 1 | . | . | 1 | 0010x010 | e | ld hl,**/**,hl |
29 | . | 1 | . | . | . | 1 | . | 1 | 1 | . | . | 1 | . | 1 | 1 | . | 1 | . | 1 | . | 11000011 | e | jp |
28 | . | 1 | . | . | . | 1 | . | 1 | 1 | . | . | 1 | . | 1 | 1 | . | . | 1 | 1 | . | 11010011 | e | out(*),a |
--- bit 3 | |||||||||||||||||||||||
27 | . | . | . | 1 | . | . | 1 | . | 1 | . | . | 1 | 1 | . | . | . | . | . | . | . | 01xxx00x | g | in/out |
26 | . | 1 | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | . | . | 1 | 1 | . | 00010000 | e | djnz |
GND | |||||||||||||||||||||||
25 | . | 1 | . | . | . | 1 | . | 1 | . | 1 | 1 | . | 1 | . | . | . | . | . | 1 | . | 000xx111 | e | rlca/rla/rrca/rra |
24 | . | 1 | . | . | . | 1 | 1 | . | . | 1 | . | 1 | . | 1 | . | 1 | 1 | . | 1 | . | 11001101 | e | call |
--- | |||||||||||||||||||||||
23 | . | 1 | . | . | . | 1 | 1 | . | . | . | . | 1 | . | 1 | 1 | . | . | . | . | . | 11xx0x01 | e | push/pop |
--- | |||||||||||||||||||||||
22 | 1 | . | . | . | . | 1 | . | 1 | 1 | . | . | 1 | . | 1 | . | 1 | 1 | . | 1 | . | 11001011 | a | BITS |
21 | . | . | . | 1 | 1 | . | . | 1 | 1 | . | 1 | . | . | 1 | . | . | . | . | . | 1 | 101xx010 | g | inx/inxr |
GND | |||||||||||||||||||||||
20 | . | . | . | 1 | . | 1 | . | 1 | 1 | . | 1 | . | . | 1 | . | . | . | . | . | 1 | 101xx011 | g | outx/otxr |
--- | |||||||||||||||||||||||
19 | . | . | . | 1 | . | 1 | 1 | . | 1 | . | 1 | . | . | 1 | . | . | . | . | . | 1 | 101xx001 | g | cpi/cpir/cpd/cpdr |
18 | . | . | . | 1 | 1 | . | 1 | . | 1 | . | 1 | . | . | 1 | . | . | . | . | . | 1 | 101xx000 | g | ldi/ldir/ldd/lddr |
17 | . | 1 | . | . | 1 | . | . | 1 | . | 1 | 1 | . | 1 | . | . | . | . | . | . | . | 00xxx110 | e | ld r,* |
GND | |||||||||||||||||||||||
16 | . | 1 | . | . | . | 1 | 1 | . | . | 1 | . | 1 | . | 1 | 1 | . | . | . | . | . | 11xx0101 | e | push rr |
15 | . | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | 1 | . | . | . | 1 | . | . | 1 | 0110x111 | g | rrd |
--- | |||||||||||||||||||||||
14 | . | 1 | . | . | . | 1 | . | 1 | 1 | . | 1 | . | 1 | . | . | 1 | . | . | . | . | 00xx1011 | e | dec rr |
13 | . | 1 | . | . | 1 | . | . | 1 | 1 | . | 1 | . | 1 | . | 1 | . | . | . | . | . | 00xx0010 | e | ld (rr),a/ld(**),a/ld(**),hl |
12 | . | . | . | 1 | 1 | . | 1 | . | 1 | . | 1 | . | . | 1 | . | . | . | . | . | 1 | 101xx000 | g | ldi/ldir/ldd/lddr |
11 | . | . | . | 1 | . | 1 | 1 | . | 1 | . | 1 | . | . | 1 | . | . | . | . | . | 1 | 101xx001 | g | cpi/cpir/cpd/cpdr |
10 | . | 1 | . | . | . | 1 | . | 1 | 1 | . | . | 1 | . | 1 | 1 | . | 1 | . | . | 1 | 11100011 | e | ex (sp),hl |
GND | |||||||||||||||||||||||
9 | . | 1 | . | . | . | 1 | . | 1 | 1 | . | 1 | . | 1 | . | . | . | . | . | . | . | 00xxx011 | e | inc/dec rr |
8 | . | 1 | . | . | 1 | . | . | 1 | 1 | . | 1 | . | 1 | . | . | . | . | . | 1 | . | 000xx010 | e | ld (rr),a/a,(rr) |
7 | . | 1 | . | . | . | 1 | 1 | . | 1 | . | 1 | . | 1 | . | 1 | . | . | . | . | . | 00xx0001 | e | ld rr,** |
6 | . | 1 | . | . | . | 1 | 1 | . | 1 | . | . | 1 | . | 1 | . | 1 | 1 | . | . | 1 | 11101001 | e | jp (hl) |
5 | . | 1 | . | . | . | 1 | 1 | . | 1 | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | 11111001 | e | ld sp,hl |
4 | . | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | 1 | . | . | . | . | . | 1 | . | 010xx111 | g | ld x,a/a,x |
GND | |||||||||||||||||||||||
3 | . | 1 | . | . | . | 1 | 1 | . | . | 1 | . | 1 | . | 1 | . | 1 | . | 1 | . | . | 11x11101 | e | IX/IY |
2 | . | 1 | . | . | . | 1 | . | 1 | 1 | . | . | 1 | . | 1 | . | 1 | 1 | . | . | 1 | 11101011 | e | ex de,hl |
1 | . | 1 | . | . | . | 1 | 1 | . | 1 | . | . | 1 | . | 1 | . | 1 | . | 1 | 1 | . | 11011001 | e | exx |
0 | . | . | . | 1 | . | . | . | . | 1 | . | 1 | . | . | 1 | . | . | 1 | . | . | 1 | 1010x0xx | g | ldx/cpx/inx/outx |
The table has input lines running vertically and output lines running horizontally.
A 1
indicates the presence of a transistor and a .
indicates the absence.
If a transistor is present, the corresponding input line must be low or
else the output will be pulled low.
Most of the input lines are instruction bits or complemented instruction bits. The first four input lines are special. The first input line is split into four segments with four different inputs labeled a, b, c, and d. The next three input lines are labeled e, f, and g.
a and b are the same line, low if there was an IX/IY prefix. Line c is just pla95, indicating HALT. This line "removes" HALT from the LD (HL) sequence that it would otherwise be in. Line d is from pla64 and pla65; it indicates an ALU operation where the operation is selected by bits b5, b4, b3. e is low for a regular instruction (no prefix). f is low for a cb-prefixed instruction. g is low for a ed-prefixed instruction.
The output lines are numbered 0 to 98. The instruction column shows what intruction value(s) will successfully match the PLA line, followed by the 'special' control line value. The description field summarizes the matching instructions.
GND indicates a ground line passing through the PLA, --- indicates a signal line passing through the PLA, and a blank row indicates an empty space in the PLA.
This was generated from the reverse-engineering images images of the Z80 created by the Visual 6502 team. The PLA appears in the image as the rectangular strip about 1/4 of the way in from the left side.