City #47
19 июня 2000

Ликбез - ПОЛHОЕ ОПИСАHИЕ + ПОЛHЫЙ ДИЗАССЕМБЛЕP ПЗУ TR-DOS 5.04 (5.03)

<b>Ликбез</b> - ПОЛHОЕ ОПИСАHИЕ + ПОЛHЫЙ ДИЗАССЕМБЛЕP ПЗУ TR-DOS 5.04 (5.03)
             @@@                    @@@@
            @  @                    @
           @   @                     @
           @   @  @   @   @  @@    @@@@    @@@    @@@
           @   @  @   @   @@@  @  @    @  @   @  @   @
           @   @  @   @   @ @     @    @@ @@@@  @    @
        @  @   @  @   @  @@  @  @ @    @  @    @   @@
         @@     @@ @@@ @@ @   @@   @@@@    @@@@      @
                                                  @@@ @
                                                 @    @
(c) П.Федин                                       @@@@

  ПОЛНОЕ ОПИСАНИЕ + ПОЛНЫЙ ДИЗАССЕМБЛЕР ПЗУ TR-DOS 5.04 (5.03)
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ДЛЯ ПРОФЕССИОНАЛОВ, А ТАКЖЕ ДЛЯ ТЕХ, КТО ХОЧЕТ ИМИ СТАТЬ
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          продолжение

Адрес 7541. Если идет проверка на синтаксис, то возврат из прог-
раммы, вызвавшей эту подпрограмму. Установите 23611.
7541  CALL 7536;проверка, что делается
      RET NZ   ;если идет выполнение, то возврат
      POP HL   ;снятие адреса возврата в вашу программу
      RET      ;возврат по следующему адресу
────────────────────────────────────────────────────────────────
Адрес 7547. Помещение числа на стек калькулятора. Установите
23645 на символ перед числом. Если строка проверяется на синтак-
сис, то будет установлен флаг Z, а при выполнении он сброшен.
7547  CALL 7722;берем следующий символ строки
      CALL 7617;помещение числа на стек калькулятора
      JR 7536  ;проверка, идет выполнение или проверка и возврат
────────────────────────────────────────────────────────────────
Адрес 7555. Открытие потока 0. Используется также с адреса 7556
(открытие потока; номер в регистре A).
7555  XOR A     ;номер потока - 0
7556  RST 32    ;открытие потока
      DEFW #1601
      RET       ;возврат

────────────────────────────────────────────────────────────────
Адрес 7560. Открытие потока 2.
7560  LD A,2 ;номер потока - 2
      JR 7556;открытие потока
────────────────────────────────────────────────────────────────
Адрес 7564. Выборка текущего символа строки. Поместите его адрес
в 23645.
7564  RST 32
      DEFW #0018
      RET
────────────────────────────────────────────────────────────────
Адрес 7568. Ввод команды.
7568  CALL 7555 ;открытие потока 0
      RST 32    ;редактирование командной строки
      DEFW #0F2C
      RET       ;возврат
────────────────────────────────────────────────────────────────
Адрес 7575. Очистка экрана и открытие потока 0.
7575  RST 32
      DEFW #ODбB
      RET
────────────────────────────────────────────────────────────────
Адрес 7579. Поиск массива. Установите 23645 на имя массива. Если
массив найден, то в HL будет его адрес.
7579  RST 32
      DEFW #28B2
      RET
────────────────────────────────────────────────────────────────
Адрес 7583. Очистка низа экрана.
7583  RST 32
      DEFW #ODбE
      RET
───────────────────────────────────────────────────────────────
Адрес 7587. Печать числа из регистра A. Используется также с ад-
ресов 7588 (печать числа из регистра C) и 7593 (печать числа из
регистра BC).
7587  LD C,A    ;переброска числа в C
7588  LD B,0    ;перевод числа в двухбайтную форму
      JP 7593   ;странная команда!
7593  PUSH BC   ;сохранение числа
      CALL 8433 ;изменение памяти
      POP BC    ;восстановление числа
      RST 24    ;печать числа
      DEFW #1A1B
      CALL 8433 ;восстановление памяти
      RET       ;возврат
────────────────────────────────────────────────────────────────
Адрес 7605. Снятие строки со стека калькулятора. В DE будет ад-
рес строки, в BC - ее длина.
7605  RST 32
      DEFW #2BF1
      RET
────────────────────────────────────────────────────────────────
Адрес 7613. Помещение строки на стек калькулятора. Установите
23645 на начало строки.
7613  RST 32
      DEFW #1C8C
      RET
────────────────────────────────────────────────────────────────
Адрес 7617. Помещение числа из BC на стек калькулятора.
7617  RST 32
      DEFW #1C82
      RET
────────────────────────────────────────────────────────────────
Адрес 7621. Установка CH_ADD на второй символ строки. Установи-
те 23825.
7621  LD HL,(23825);берем адрес строки команды
      INC HL       ;берем адрес ее второго символа
      LD (23645),HL;помещаем его в CH_ADD
      RET          ;возврат

                     продолжение следует ...




Другие статьи номера:

Преамбула - На днях получил письмо от VEL'а, который прислал три диска с софтом.

Планета шелезяка - обобщенный опыт доработки различных ZX Spectrum.

Смайлик - - А вот мой отец- настоящий немец!

Ликбез - ПОЛHОЕ ОПИСАHИЕ + ПОЛHЫЙ ДИЗАССЕМБЛЕP ПЗУ TR-DOS 5.04 (5.03)

Бук - Лабиринт отражений.

Beatles - He's a real Nowhere Man, sitting in his Nowhere Land

Смак - антрекот с картофелем.

Двигатель торговли - Пpиобpету схемы паpаллельного поpта на ВВ55, теневого ОЗУ и подключения SIMM 1 Mb, проверенные (!!!!!) в работе со Скоpпионом-256


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Введение - От автора.
Part 7 - Technical forum.
Партийная зона - DI:HALT99; Лучше поздно, чем ещё раз! История провального демопати.
For Coderz - Как делается крупная перемещаемая программа.
Юмор - анекдоты.

В этот день...   21 ноября