Ответ: При установленном префиксе 16 бит
xlatl:
acc[15..12] = acc[15..12]
acc[11..8] = mem[acc[11..8] + dptr][3..0]
acc[7..0] = acc[7..0]
xlath:
acc[15..12] = mem[acc[15..12] + dptr][7..4]
acc[11..0] = acc[11..0]
Хотя для совсем идеального варианта (чтобы узел замены не перелопачивать при вводе) я бы еще сдвинул адрес на 2 бита влево, поскольку узел замены имеет строки длиной по 4 байта, т.е.
8:
xlatl:
acc[7..4] = acc[7..4]
acc[3..0] = mem[acc[3..0] << 2 + dptr][3..0]
xlath:
acc[7..4] = mem[acc[7..4] << 2 + dptr][7..4]
acc[3..0] = acc[3..0]
16:
xlatl:
acc[15..12] = acc[15..12]
acc[11..8] = mem[acc[11..8] << 2 + dptr + 1][3..0]
acc[7..0] = acc[7..0]
xlath:
acc[15..12] = mem[acc[15..12] << 2 + dptr + 1][7..4]
acc[11..0] = acc[11..0]