Changes
Z80
,/* BCD group */
| daa || 00100111 || 1 || 4 (4) || + || + || + || X || + || P || - || X || tmp := a,
if nf then
if hf or [a nnnD and 0x0f > 9] then tmp -= 0x06
if cf or [a > 0x99] then tmp -= 0x60
else
if hf or [a nnnD and 0x0f > 9] then tmp += 0x06
if cf or [a > 0x99] then tmp += 0x60
endif,
tmp => flags, cf := cf Or or [a > 0x99],
hf := a.4 XOr xor tmp.4, a := tmp
|| Decimal Adjust Accumulator
|-
| rld || 11101101 01101111 || 5 || 18 (4,4,3,4,3) || + || + || + || 0 || + || P || 0 || - || tmp := [(hl) << 4] + [a nnnD and 0x0f], (hl) := tmp,a := [a nnnD and 0xf0] + [tmp >> 8] => flags
|| Rotate Left Decimal
|-
| rrd || 11101101 01100111 || 5 || 18 (4,4,3,4,3) || + || + || + || 0 || + || P || 0 || - || tmp := (hl), (hl) := [tmp >> 4] + [[a nnnD and 0x0f] << 4],a := [a nnnD and 0xf0] + [tmp nnnD and 0x0f] => flags
|| Rotate Right Decimal
|}