User Tag List

Страница 4 из 13 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 121

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

  1. #31

    Регистрация
    16.09.2005
    Адрес
    Дзержинск (DustCity)
    Сообщений
    919
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Цитата Сообщение от Andrew771
    все команды с регистром IY
    Да, бесполезный регистр! Вот IX - гораздо лучше!
    Скажи это alone coder`у и его текстуратору, да и многим другим кто писал демки)

    бесполезными командами являются ld a,a и подобные...


    и кстати jp p, jp pe и т.п. тоже являются сверхофигенными для конкретной задачи, например в зависимости от битов регистра А делать или нет call:

    классически
    pop af // или ld a,(HL): inc HL
    rra
    jp z,L1
    ret1 rra
    jp z,L2
    ret2 rra
    ...
    L1 do something
    jp ret1
    L2 do something
    jp ret2

    а вот еще один метод (Griv мне показал идею)
    храним не в рег А а в рег F битовые данные, тогда
    pop af
    jp z,L1
    ret1 jp p,L2
    ret2 jp p,L3

    так что все дело в том под какие задачи какие регистры и команды нужны а под какие нет, в контексте конкретной задачи можно найти применение абсолютно любым командам и регистрам... будь то ret c; ld a,r для задержек или регистр IY для цикла текстуринга...
    Pentagon1024sl2.2/TSFM/Z-Controller/GS128Kb/HDD/CDROM/Palcoder

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вопрос немного не по теме: правда ли, что сброс CY флага можно делать одной командой AND A вместо SCF; CCF ?

  4. #33

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Andrew771, да
    С уважением,
    Jerri / Red Triangle.

  5. #34

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Вопрос немного не по теме: правда ли, что сброс CY флага можно делать одной командой AND A вместо SCF; CCF ?
    Или OR A. Как побочный эффект- флаг Z устанавливается при нулевом значении аккумулятора.

  6. #35

    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Извращенный мозг демокодера использует практически все команды, лишь бы поиметь максимум
    Особенно если по тактам меньше жрет

    Кстати команды типа ld b,b были бы намного полезнее если ld b',b и т.п.
    Последний раз редактировалось GM BIT; 13.04.2012 в 22:10.

  7. #36

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от GM BIT Посмотреть сообщение
    Кстати команды типа ld b,b были бы намного полезнее если ld b',b и т.п.
    да, было бы супер

  8. #37

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    но тогда бы вы захотели бы еще:
    a,b'
    b,c'
    c,d'
    и т.д.

  9. #38

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

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Или OR A. Как побочный эффект- флаг Z устанавливается при нулевом значении аккумулятора.
    Всегда когда кодил, использовал замену

    Код:
    or a,a ;вместо cp 0
    and a,a ;для сброса CY
    (хоть команды аналогичны)

    т.е. установка Z - это фича (;

    Цитата Сообщение от Vadim Посмотреть сообщение
    Экономится место. Зачем ставить JP, если нет разницы 10 тактов или 12 будет в итоге? Если не критично - то ставим jr.
    Кроме того, JP ест на 1 байт больше.

    Ещё влияет контекст будет или нет переход.

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    IY не бесполезный регистр, если не использовать подпрограммы ПЗУ. Но мне это не пригодилось. IX хватает.
    В своих программах никогда не использовал IX/IY. Может разве что пару раз.
    Их всегда имел ввиду, но без них программы получались более быстрыми и требующими меньше памяти. Всегда.

    IX и IY неудобные регистры. Они каждое свое использование едят 1 байт памяти, + 4..12 тактов каждое использование (по сравнению с HL), разбить их на старший-младший проблематично и т.д.. Все что можно с ними делать, делается с помощью HL.

    Цитата Сообщение от alone Посмотреть сообщение
    Неиспользуемые и редкоиспользуемые команды из основного набора
    Думаю следует просмотреть список на использование недокументированных команд (с префиксами FD, DD). Например
    defb #FD
    or l

    не сделает ли случаем OR с младшей частью IY?

  10. #39

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    push hl
    push bc
    ld bc,10h
    add hl,bc
    or (hl)
    pop bc
    pop hl

    Ну как? Это в смысле функционала - эквивалент, если не учитывать прерывание, которое может прийти во время отработки процедуры. Сколько тактов? То-то и оно!

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  11. #40

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bsivko Посмотреть сообщение
    не сделает ли случаем OR с младшей частью IY?
    Сделает. Этот как раз "проблематичная" реализация разбития на старший-младший. Во всех нормальных ассемблерах этой порнографии есть замена:
    Код:
    or ly
    Т.е. IY=HY+LY

Страница 4 из 13 ПерваяПервая 12345678 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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