Odyssey Magazine
#02
14 июля 1997 |
|
Ассемблер - Возможно ли перекинуть экран (6144 байта) за один тик.
Ликбез:DR.S. ты не прав! ________________________ (С) 1997 Phantom Lord Music by Shov Привет в новой рубрике нашего журнала. Идея создании такой рубрики возникла после прочтения в Харьковском журнале ZX Power статьи "Ликбез", где автор пытается убе- дить "начинающих программистов", что пере- кинуть 6144 байт за один тик невозмож- но.Возмутило меня то, что получается я - "начинающий программист", поскольку счи- таю, что это можно сделать. Самое интерес- ное, что я это сделал! Но все по-порядку. Итак, в ZX Power #1 расписали все хоро- шо. Привели несколько известных методов: 1. POP HL LD (ADR),HL 2. LD SP,STEK1 POP HL ... LD SP,STEK PUSH HL .... Действительно, таким способом впечатать картинку за один тик невозможно, но ведь это не самые быстрые способы печати! Я предлагаю контрпример для авторов жур- нала ZX Power и надеюсь они исправят свою ошибку. LD SP,#5800 LD HL,#XXXX ┐ PUSH HL │ .... │ 3072 раза LD HL,#XXXX │ PUSH HL ┘ Теперь подсчитаем: LD SP,#5800 - 10 takts CPU LD HL,#XXXX - 10 takts PUSH HL - 11 takts итого: 10+(10+11)*3072=64522 такта! Конечно, можно сказать, что не совсем удобно вначале картинку таким образом раз- мещать среди мешанины LD HL и PUSH HL, но чего не сделаешь ради скорости! Как видите все вполне влезло в один экранный такт. Можно даже еще и музыку прицепить, что и было реализованно в последней части ETUDE demo, опубликованной в прошлом выпуске на- шего журнала. Прошу не оценивать этот материал, как на- езд на производителей ZX Power. У всех бы- вают ошибки и скорее всего авторы уже ее нашли и без нас. Мы можем только добавить еще несколько слов в адрес INFORKOM'а . Наверное видели в ZX-REVIEW 1/2 за 97 год. Так вот там есть реклама ZX P. где преве- дены строки из разных статей журнала. Есть там и строки и из ликбеза, что еще раз по- казывает, что Инфорком продолжает писать непроверенную до конца информацию. А еще говорят, что спектрум держится на Инфорко- ме... (но это , пожалуй , уже тема другого разговора.) И еще немного полезной информации. Недавно я писал интрочку и чуть со стула не упал , когда поменяв 50 RES на 50 SET моя програмка стала притормаживать. После небольших экспериментов выявилось , что команда RES XX,(HL) занимает не 15 тактов, а где-то 14-14.5 ! Возможно это зависит от типа компьютера , но то , что на SCORP'e так - это факт ! __________________________________________
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября