Без привязки к системе команд примерно :
Взять старший байт исходного, поместить в A
Сдвинуть на 1 бит в младшую сторону с потерей удвигаемого младшего бита
Сдвинуть на 1 бит в младшую сторону с потерей удвигаемого младшего бита
Сдвинуть на 1 бит в младшую сторону с потерей удвигаемого младшего бита
Логическое "И" A с 00011110
Сложить с начальным адресом таблицы
Переместить из A в регистр, с которого можно адресовать память
Взять из указанного адреса в таблице значение и поместить в DE*(например)
Взять старший байт исходного, поместить в A
Сдвинуть на 1 бит в старшую сторону с потерей удвигаемого старшего бита
Логическое "И" A с 00011110
Сложить с начальным адресом таблицы
Переместить из A в регистр, с которого можно адресовать память
Взять из указанного адреса в таблице значение и поместить в AB*
Вызвать подпрограмму прибавления DE* к AB* (или вставка макро)
Переместить из AB* в DE*
Взять младший байт исходного, поместить в A
Сдвинуть на 1 бит в младшую сторону с потерей удвигаемого младшего бита
Сдвинуть на 1 бит в младшую сторону с потерей удвигаемого младшего бита
Сдвинуть на 1 бит в младшую сторону с потерей удвигаемого младшего бита
Логическое "И" A с 00011110
Сложить с начальным адресом таблицы
Переместить из A в регистр, с которого можно адресовать память
Взять из указанного адреса в таблице значение и поместить в AB*
Вызвать подпрограмму прибавления DE* к AB* (или вставка макро)
Переместить из AB* в DE*
Взять младший байт исходного, поместить в A
Сдвинуть на 1 бит в старшую сторону с потерей удвигаемого старшего бита
Логическое "И" A с 00011110
Сложить с начальным адресом таблицы
Переместить из A в регистр, с которого можно адресовать память
Взять из указанного адреса в таблице значение и поместить в AB*
Вызвать подпрограмму прибавления DE* к AB* (или вставка макро)
Переместить из AB* в DE*
Такой алгоритм будет работать почти на любом CPU в системе команд которого нет умножений, работы с отдельными нибблами, битами и т.д.*_AB и DE
могут быть и любые другие пары регистров, и это может быть макро из двух команд типа MOV
Ничего не перепутал ? Сильно сложно ? 