Цитата Сообщение от bsivko Посмотреть сообщение
аналогично, если адрес используется, и используется смещение

ld ix,NN
or (ix+0)
or (ix+#10)

то

ld hl,NN
or (hl)
ld hl,NN+#10
or (hl)
Пример безусловно, когда ix накладно использовать. Некорректный. IX и IY используют, например, когда у нас есть некие наборы данных, которые мы упорядочиваем по смещениям. Достаточно установить на начало область индексный регистр - как мы получаем доступ к структуре. И можем моментально менять адреса разных структур. Иначе, придется заниматься вычислениями и сохрананениями восстановлениями. Индексы ведь не используют, когда надо обратиться к одной переменной. Смысла нет, так что пример некорректный.

---------- Post added at 11:28 ---------- Previous post was at 11:25 ----------

Цитата Сообщение от bsivko Посмотреть сообщение
Где на это можно посмотреть?
Например - файловый коммандер. У нас 2 панели. Так? Нужно хранить параметры для левой и правой панели, по сути одни и те же. Можно завести переменные, и работать с ними. 2 набора процедур или вычислять адреса переменных, а можно на переменные указывать индексным регистром и при вызове процедуры ставить в него нужное значение.

---------- Post added at 11:30 ---------- Previous post was at 11:28 ----------

Ведь есть много случаев, когда компактность и понятность кода важнее скорости. Если мы не демках говорим. Пусть будет на 10-30 тактов дольше, но без сумасшедших сохранений, перемещений и восстановлений. Т.е. не надо путать время-критичный код от логики.