User Tag List

Показано с 1 по 10 из 121

Тема: Неиспользуемые и редкоиспользуемые команды

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    25.04.2009
    Адрес
    Gomel, Belarus
    Сообщений
    32
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Если нужна индексная адресация, то они весьма удобны. Через HL сделать конечно можно (имитировать индексную адресацию), но нужно будет потратить куда больше тактов, чем использовать IX or IY, например, заменяем команду or (ix+10h)
    В том то и дело, что в реальных программах индексная адресация нужна крайне редко, и все эти редкие случаи успешно решаются основными регистрами.

    Конечно можно придумать кучу примеров в вакууме, работающих только в вакууме. В реальности же в IX нужно сначала что-то записать, потом с ним работать. Если программа маленькая, то обычные регистры свободны, и делается все быстро без IX. Если большая, то IX используется часто, и тоже подлежит замене.

    Та же адресация (ix+10h) не используется просто так. Никто не пишет

    ld ix,NN
    or (ix+10h)

    все пишут

    ld hl,NN+#10
    or (hl)

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

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

    то

    ld hl,NN
    or (hl)
    ld hl,NN+#10
    or (hl)

    Если смещение используется несколько раз, то это говорит о том, что оно в цикле. Такое использование решается выводом обращения через другой регистр с его сохранением (из-за цикла сохранение становится в разы дешевле).

    Если хочется дергать значения многих переменных, то обращение напрямую через
    ld a,(NN)
    быстрее и эффективнее.

    и т.д.

    IX представляет зачастую только академический интерес. Может быть полезен для более наглядного кода. Но для быстродействующего и занимающего мало памяти кода его применение крайне редкое.
    Последний раз редактировалось bsivko; 25.06.2012 в 08:28.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Основные команды Atari 65
    от Andrey_Ak в разделе Atari
    Ответов: 71
    Последнее: 06.03.2017, 18:27
  2. Недокументированные команды
    от MadCat! в разделе Программирование
    Ответов: 46
    Последнее: 02.02.2011, 13:49
  3. Команды Z80
    от e2e4 в разделе Для начинающих
    Ответов: 11
    Последнее: 02.07.2010, 21:13
  4. Команды Z80
    от Almaz в разделе Программирование
    Ответов: 1
    Последнее: 28.10.2007, 12:50

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •