City #48
25 августа 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)
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ДЛЯ ПРОФЕССИОНАЛОВ, А ТАКЖЕ ДЛЯ ТЕХ, КТО ХОЧЕТ ИМИ СТАТЬ
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          продолжение

Адрес 7629. Принятие 2-х строк на стек калькулятора. Поместите в
23825 адрес первой строки.
7629  CALL 7647 ;прием первой строки на стек калькулятора
      CALL 7564 ;берем текущий символ
      CP ","    ;это запятая ?
      JP NZ,7450;если нет, то ошибка
      CALL 7722 ;следующий символ
      CALL 7613 ;прием второй строки на стек калькулятора
      RET       ;возврат
────────────────────────────────────────────────────────────────
Адрес 7647. Установка CH_ADD и помещение строки на стек кальку-
лятора. Установите 23825.
7647  CALL 7621 ;установка CH_ADD
      JP 7613   ;помещение строки на стек калькулятора
Адрес 7629. Принятие 2-х строк на стек калькулятора. Поместите в
23825 адрес первой строки.
7629  CALL 7647 ;прием первой строки на стек калькулятора
      CALL 7564 ;берем текущий символ
      CP ","    ;это запятая ?
      JP NZ,7450;если нет, то ошибка
      CALL 7722 ;следующий символ
      CALL 7613 ;прием второй строки на стек калькулятора
      RET       ;возврат
────────────────────────────────────────────────────────────────
Адрес 7653. Принятие одного или двух чисел после символа CODE.
Первое число будет в 23769, второе - в 23771. Если было одно
число, то оно будет в обоих ячейках. Если принято 2 числа, то в
23766 будет 3. На входе установите 23645 и 23611. Используется
также с адреса 7691 (принятие числа; установите 23645 и 23611;
число будет в 23771, а в 23766 будет 3).
7653  CALL 7564    ;берем текущий символ строки
      CP 175       ;это CODE ?
      RET NZ       ;если нет, то возврат
      CALL 7547    ;принятие числа на стек калькулятора
      JR Z,7675    ;если идет проверка на синтаксис, то дальнейшая проверка
      CALL 7609    ;снятие числа со стека калькулятора
      LD (23769),BC;установка первого числа
      LD (23771),BC
7675  CALL 7564    ;берем текущий символ
      CP ","       ;это запятая ?
      JR Z,9691    ;если да, то принятие второго числа
      CP 13        ;это ENTER ?
      JP NZ,7450   ;если нет, то ошибка
      CALL 7541    ;если строка проверяется на синтаксис, то возврат
      RET          ;возврат
7691  CALL 7547    ;прием второго числа на стек калькулятора
      RET Z        ;если проверка на синтаксис, то возврат
      CALL 7609    ;снятие числа со стека калькулятора
      LD (23771),BC;помещение его в 23771
      LD A,3       ;приняли 2 числа
      LD (23766),A
      RET          ;возврат
────────────────────────────────────────────────────────────────
Адрес 7708. Удаление из командной строки пятибайтных чисел
7708  LD HL,(23825);берем адрес строки команды
      RST 32       ;удаление из нее пятибайтных чисел
      DEFW #11A7
      RET          ;возврат
────────────────────────────────────────────────────────────────
Адрес 7715. Выделение пространства в рабочей области. В BC по-
местите длину требуемого пространства.
7715  LD HL,(23649);загрузка HL из 23649
      RST 32       ;выделение пространства
      DEFW #0030
      RET          ;возврат
────────────────────────────────────────────────────────────────
Адрес 7722. Выборка следующего символа строки. Установите 23645.
7722  RST 32
      DEFW #0020
      RET
                     продолжение следует ...




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

Преамбула - Лето не располагает к длительным занятиям компьютером. Постоянно не хватает времени.

Планета шелезяка - Буферы шины данных и адреса CPU Z80.

Смайлик - Парень с девушкой одни в квартире, парень пристает к девушке, она сопротивляется и говорит.

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

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

Beatles - I should have known better.

Двигатель торговли - Куплю м/с К1107ПВ1, 1810ВТ37, 1816ВЕ35, 170АП2, 170УП2


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

Похожие статьи:
Вступление - Выход этого номера задержался, но на то были объективные причины...
Artique - ремесло асциарта и лит-движения на спектруме.
Перфоманс - нормальные пацаны - ди-джеи. Скажи им, что вон у меня у бабули есть стопка пластинок - давай я им впарю...
Наука - Дарующий мысль, кто ты?
MY SPEKK - Супeр кoмп Чaпaя выглядит тaк...

В этот день...   1 января

SibNews #08, Woot! #01, Spectrum Magazine #01, ACNews #25, Psychoz #14, ACNews #14, Last 128 #08, Last 128 #06, Last 128 #05, Last 128 #04, Last 128 #03, Last 128 #02, Last 128 #09, Last 128 #3.5, Last 128 #8.025, Sinclair Club #05, Last 128 #M!R 01, Fantadrom #01, Buzz #20, Last 128 #01, DonNews #13, Nicron #120, Promised Land #01, Inferno #01, Marazm #25, Ultimathum #01, Marazm #21, Hooy Mag #02, KrNews #11, Marazm #22, Marazm #23, ZX Football 2000 #01, Codemania #01, Always #03, Bugs #02, IzhNews #08, Virtual Worlds #01, Listok #04, Scenergy #02, Flash Info #18, Marazm #16, Marazm #17, Zed #01, Balagan #02, ZX Format #08, ZX Power #03, Shock #01, Impulse #02, Deja Vu #03, ZX Club #08, ZX Club #06, Numberology #01, Marazm #13, Marazm #12, Marazm #14, Gorodok #02, Zodiac #01, Marazm #15, Deja Vu #07, Marazm #11, Deja Vu #07, Playboy #03, Crazy News #2, Crazy News #4, ZX Light #01, Crazy News #5, Playboy #02, ZX News #03, ZX Review #1-2, Read Me #02, Crazy News #3, Nicron #13, Read Me #01, Public Spirit #01, Faultless #06, Faultless #05, ZX Software #01, Stump #04, Speccy #07, Возраждение #0, Speccy #03, On-Line #17, Scene+ #01, Welcome Press #01, ZX Konig #04, Adventurer #01, Faultless #05, Faultless #04, Di Halt #01, Faultless #01, Playboy #01, Crazy News #1, Faultless #03, Pioneer #03, Sinclair Town #02, ZX Magazine #01, Eldorado #01, ZX Magazine #02, Spectron #01, ZX News #01, ZX Konig #02, 200 #W, Welcome Press #00, Dune #07, Subliminal Extacy #01, Subliminal Extacy #02, ZX Konig #01, Subliminal Extacy #00, Muchomor #01, Spectrofon #01, ZX Revija #02, Outlet #01, Outlet #1-3