ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 июля
29488 Топик полностью
vmp (18.05.2005 16:45, просмотров: 1) ответил SM на Допустим. А в 16-битном режиме как оно?
Ответ: При установленном префиксе 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]