Ассемблер - Возможно ли перекинуть экран (6144 байта) за один тик.

Odyssey Magazine #02

Ликбез: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
так - это факт !


__________________________________________