Закрыть окно Список других документов библиотеки Серкова
Подпрограммы монитора APPLE II и другие специальные адреса. ═ 1 ═══════════════════════════════════════════ COUT - вывод символа. ¤FDED 65005 -531
COUT - является стандартной подпрограммой вывода символа. Символ, который выводится должен быть в аккумуляторе. COUT вызывает подпрограмму вывода текущего символа адрес которой лежит в CSW (находится в ¤36 и ¤37), обычно это подпрограмма COUT1 (смотри ниже).
═ 2 ═══════════════════════════════════════════ COUT1 - вывод символа на экран. ¤FDF0 65008 -528
COUT1 - отображает символ из аккумулятора на экране компьютера Apple в текущей позиции курсора и передвигает курсор на соседнюю позицию, соответствующую выводу следующего символа. Она помещает символ, с учетом установки ячейки нормального/инверсного вывода на экран. Она выполняет управляющий символ перевод строки (RETURN), перевод строки вывода на следующую позицию вниз, и звуковой сигнал. Она возвращает все регистры в исходное состояние.
═ 3 ═════════════════════════════════════════════════════════ SETINV - установка инверсного режима. ¤FE80 65152 -384
Устанавливает инверсный режим вывода на экран для COUT1. Все выводимые символы будут отображаться черными точками на белом фоне. В регистр Y заносится ¤3F, остальные регистры остаются без изменений.
═ 4 ═════════════════════════════════════════════════════════ SETNORM - установка нормального режима. ¤FE84 65156 -380
Устанавливает нормальный режим вывода на экран для COUT1. Все выводимые символы будут отображаться белыми точками на черном фоне. В регистр Y заносится ¤FF, остальные регистры остаются без изменений.
═ 5 ═════════════════════════════════════════════════════════ CROUT - генерация перевода строки (RETURN). ¤FD8E 64910 -626
CROUT - посылает управляющий символ перевода строки в текущее устройство вывода. (Обычно передает его COUT1).
═ 6 ═════════════════════════════════════════════════════════ CROUT1 - перевод строки с очисткой экрана. ¤FD8B 64907 -629
CROUT1 - очищает экран начиная с текущей позиции курсора до конца текстового окна, при вызове CROUT.
═ 7 ═════════════════════════════════════════════════════════ PRBYTE - печать шестнадцатиричного байта. ¤FDDA 64986 -550
Эта подпрограмма выводит содержимое аккумулятора в шеснацатеричном виде на текущее устройство вывода. Содержимое аккумулятора зашифровано.
═ 8 ═════════════════════════════════════════════════════════ PRHEX - печать шестнадцатиричной цифры. ¤FDE3 64995 -541
Эта подпрограмма выводит нижний нибл (четыре двоичные цифры) аккумулятора в виде одной шестнадцатиричной цифры. Содержимое аккумулятора зашифровано.
═ 9 ═════════════════════════════════════════════════════════
PRNTAX - печать содержимого регистров A и X в шестнацатиричном виде.
¤F941 63809 -1727
Программа выводит содержимое регистров A и X как четырехзначную шестнадцатиричную величину. Аккумулятор содержит первый выводимый байт, а регистр X - второй. Содержимое аккумулятора обычно зашифровано.
═ 10 ════════════════════════════════════════════════════════ PRBLNK - печать трех пробелов. ¤F948 63816 -1720
Выводит три пробела на стандартное устройство вывода. После выполнения подпрограммы аккумулятор обычно содержит ¤A0, регистр X содержит 0.
═ 11 ════════════════════════════════════════════════════════ PRBL2 - печать множества пробелов. ¤F94A 63818 -1718
Данная подпрограмма выводит на стандартное устройство вывода от 1 до 256 пробелов. До начала работы подпрограммы регистр X дожен содержать количество выводимых пробелов. Если X=¤00, тогда PRBL2 выведет 256 пробелов.
═ 12 ════════════════════════════════════════════════════════ BELL - воспроизводит звуковой сигнал "бип". ¤FF3A 65338 -198
Данная подпрограмма выводит символ "бип" (CTRL G) на текущее устройство вывода. Она заносит в аккумулятор символ ¤87.
═ 13 ════════════════════════════════════════════════════════ BELL1 - заставляет звучать динамик компьютера. ¤FBDD 64477 -1059
Данная подпрограмма подает на динамик компьютера звуковой сигнал частотой 1 кГц и длительностью 1 секунда. Она зашифровывает содержимое регистров A и X.
═ 14 ════════════════════════════════════════════════════════ RDKEY - взять входной символ. ¤FD0C 64780 -756 Это стандартная подпрограмма ввода символа. RDCHAR - взять входной символ или ESC код. ¤FD35 KEYIN - считать символ с клавиатуры FD1B
GETLN - взять входную строку и вывести PROMPT (приглашение из ячейки ¤33).
¤FD6A
Выводит символ-подсказку (обычно *, но хранится в PROMPT - см. ниже), затем вводит одну строку (см. GETLN1). Может изменять содержимое регистров: A, X, Y.
GETLNZ - взять входную строку ¤FD67 GETLN1 - взять входную строку и не выводить PROMPT. ¤FD6F ═ 15 ════════════════════════════════════════════════════════ WAIT - подпрограмма задержки ¤FCA8 SETCOL - включение цветной гафики низкого разрешения ¤F864 NEXTCOL - увеличить цвет на 3 ¤F85F PLOT - нарисовать блок на экране низкого разрешения ¤F800 HLINE - нарисовать горизонтальную линию из блоков ¤F819 VLINE - нарисовать вертикальную линию из блоков ¤F828 CLRSCR - очистить экран низкого разрешения ¤F832 CLRTOP - очистить верхнюю часть экрана низкого разрешения ¤F836 SCRN - считать экран низкого разрешения ¤F871 PREAD - считать состояние игрового пульта ¤FB1E PRERR - напечатать "ERR" ("ошибка") ¤FF2D IOSAVE - сохранить все регистры ¤FF4A IOREST - восстановить все регистры ¤FF3F .гр .ао0 .сс Вектора "MONITOR" в 3-ей странице ОЗУ. ╔═════════╦═══════════════════════════════════╗ |Адрес |Использование | ╠════╦════╬═════════════════╦═════════════════╣ |dec |hex |Монитор ROM |Автостарт ROM | ╠════╬════╬═════════════════╬═════════════════╣ |1008|¤3F0| не поддержива- |Адрес обработки | |1009|¤3F1| ется |прерывания по BRK| ╠════╬════╬═════════════════╬═════════════════╣ |1010|¤3F2|Резерв для допол-|Адрес обработки | |1011|¤3F3|нительной обрабо-| "RESET" | | | |тки после "RESET"| | ╠════╬════╬═════════════════╩═════════════════╣ |1012|¤3F4| Ячейка "индикации питания". | ╠════╬════╬═══════════════════════════════════╣ |1013|¤3F5|Содержит команду "JMP" и адрес пе- | |1014|¤3F6| рехода к подпрограмме, которой пе-| |1015|¤3F7| редается управление при нахождении| | | | интерпретатором "BASIC" в програм-| | | | ме зарезервированного ключевого | | | | слова "&". | ╠════╬════╬═══════════════════════════════════╣ |1016|¤3F8|Содержит команду "JMP" и адрес | |1017|¤3F9| перехода к подпрограмме, вы- | |1018|¤3FA| полняемой при нажатии [CTRL- Y] и | | | | [CTRL-M] в диалоге с "MONITOR" | ╠════╬════╬═══════════════════════════════════╣ |1019|¤3FB|Содержит команду "JMP" - инструк- | |1020|¤3FC| цию перехода к подпрограмме, кото-| |1021|¤3FD| рая поддерживает немаскируемые| | | | прерывания - NonMaskable Inter-| | | | rupts (NMI) | ╠════╬════╬═══════════════════════════════════╣ |1022|¤3FE|Содержит адрес подпрограммы, кото-| |1023|¤3FF| рая поддерживает маскируемые пре-| | | | рывания - Interrupt ReQuests (IRQ)| ╚════╩════╩═══════════════════════════════════╝ .сс