Какой смысл её юзать в z80? Вообще все "недок" команды? Я этого никогда не понимал и видимо не пойму уже. Ну делает этот код некое действие и что? Ладно бы, если бы оно было реально полезное. А так.. Ну зачем команда SLI? или SLL? Ускорение по тактам? В чем? Где? Доказательства в студию (примеры)
Скрытый текст
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[свернуть]
Из scf: sla a получаем sli a. Выгоду по байтам и тактам посчитать легко.
Да нет, это понятно, там выгода 4 такта, если у нас 100% флаг C не был установлен. Но много ли найдётся случаев, когда это нужно? Ну не надо делать SCF и что? Это ерунда на самом деле. А вот если бы по этим 8-и кодам были бы команды умножения, то вот это было бы большим плюсом. Вот я к чему. Смысл юзать команды, от которых или нет вообще выгоды или она мизерна?
Скрытый текст
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[свернуть]
Многие зачастую путают два понятия.
1. Сохранение совместимости с парком софта и принятые когда-то ТРАДИЦИИ. Это поддержка и сохранность прошлого. Т.е., скажем картинная галерея сохраняет традиции и наследие художников, когда-то существоваших.
2. Выработка правил хорошего тона, оптимального программирования для БУДУЩЕГО. Переводя опять же на художников - берем лучшее из техники прошлого, оптимизируем, добавляем современное и новое и делаем что-то сейчас, а так же учим этим навыкам тех, кто будет творить в будущем.
Так вот - Спектрум и его софт - это на 99.999% пункт 1.
Я это понимаю, но не понимаю всё же тех, кто использовал некоторые особенности чего-то без веской на то причины. Вот я о чём.
---------- Post added at 01:11 ---------- Previous post was at 01:08 ----------
Как например тех же товарисчей которые писали дисковые процедуры к ZX-Format. Увы, это пример *****кода. С дисковода B: их журнал не работает. В номере 2, сверяют 2x512 байт ПЗУ TR-DOS на абсолютное соответствие с ПЗУ 5.04Т - зачем? Да не зачем. Говнокод сделанный любительским способом не зная как вообще надо. И этого надо придерживаться? Чушь и бред!
Скрытый текст
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[свернуть]
Причины:
1. Интересно применить
2. Удобно в каком-то алгоритме
3. Для защиты (что наиболее логично)
---------- Post added at 23:17 ---------- Previous post was at 23:13 ----------
То, что не работает с диска B - это не айс.
То, что сравнивается с 5.04T - это неправда, т.к. у меня на 5.03 и 7.00 все работает.
И это не чушь и бред - это попытка защитить свой журнал теми досупными средствами и знаниями, которыми они располагали.
На самом деле это назывется деццтво. (у меня было аналогично)
насчёт этого как раз я и спросил привести пример, т.к. у меня в практике программирования такого не было вообще. А если и надо было сделать сдвиг влево с одновременным задвижением 1 в мл. разряд, то я это делал стандартными командами без ущерба производительности. (ну не было такого случая когда оно лежит в цикле для вывода графики)
А вот этот момент наиболее ожидаем и логичен. Я занимаясь, спектрумом имея скудные описания z80 ещё в 1992 г. в отладчиках перепробовал все "недок" команды. Расписал для себя, что же они делают. Не имея вразумительных данных вообще о микропроцессорных системах, только изучая их. И за чем же тогда, такие команды применять? Если начинающий смог в них разобраться? Какая защита? О чём ты? Смешно. Ну отладчик или дизасм (коих на спектруме отродяся не было) не сможет эту команду адекватно отразить, но мы то знаем уже. Или это защита от дебилла?
Скрытый текст
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[свернуть]
Идеальная защита - это квинтэессенция целого комплекса неизвестных, малоизвестных или сложнорешаемых задач. Поэтому совершенно логично, что желая защитить программу, программист будет делать упор в том числе на недокументированные команды, тем самым уменьшая число людей потенциально могущих взломать защиту.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)