City
#47
19 июня 2000 |
|
Ликбез - ПОЛ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 ;возврат продолжение следует ...
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября