Changes
Z80
,/* Block group */
f5 := [tmp - hf].1, f3 = [tmp - hf].3
|-
| inir || ED 10110010 || 6/5 || 21/16 (4,5,4,3,5)/(4,5,4,3) || M1, M1, INT(21), IOR, MW(, INT(5)) || rowspan=4|+ || rowspan=4|+ || rowspan=4|+ || rowspan=4|X || rowspan=4|+ || rowspan=4|X || rowspan=4|X || rowspan=4|X || ini, if b <> 0 then pc -= 2 || rowspan=4|Block I/O Input
|-
| indr || ED 10111010 || 6/5 || 21/16 (4,5,4,3,5)/(4,5,4,3) || M1, M1, INT(21), IOR, MW(, INT(5)) || ind, if b <> 0 then pc -= 2
|-
| ini || ED 10100010 || 5 || 16 (4,5,4,3) || M1, M1, INT(21), IOR, MW || tmp := ((c)), (hl) := tmp, hl += 1,
b -= 1 => flags, nf := tmp.7,
hf := cf := tmp2 > 255
|-
| ind || ED 10101010 || 5 || 16 (4,5,4,3) || M1, M1, INT(21), IOR, MW || tmp := ((c)), (hl) := tmp, hl -= 1,
b -= 1 => flags, nf := tmp.7,
hf := cf := tmp2 > 255
|-
| otir || ED 10110011 || 6/5 || 21/16 (4,5,3,4,5)/(4,5,3,4) || M1, M1, INT(21), MR, IOW(, INT(5)) || rowspan=4|+ || rowspan=4|+ || rowspan=4|+ || rowspan=4|X || rowspan=4|+ || rowspan=4|X || rowspan=4|X || rowspan=4|X || outi, if b <> 0 then pc -= 2 || rowspan=4|Block I/O Output
|-
| otdr || ED 10111011 || 6/5 || 21/16 (4,5,3,4,5)/(4,5,3,4) || M1, M1, INT(21), MR, IOW(, INT(5)) || outd, if b <> 0 then pc -= 2
|-
| outi || ED 10100011 || 5 || 16 (4,5,3,4) || M1, M1, INT(21), MR, IOW || tmp := (hl), ((c)) := tmp, hl += 1,
b -= 1 => flags, nf := tmp.7, tmp2 = tmp + l,
hf := cf := tmp2 > 255
|-
| outd || ED 10101011 || 5 || 16 (4,5,3,4) || M1, M1, INT(21), MR, IOW || tmp := (hl), ((c)) := tmp, hl -= 1,
b -= 1 => flags, nf := tmp.7, tmp2 = tmp + l,