Закрыть окно
Список других документов библиотеки Серкова
Подпрограммы монитора 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)|
╚════╩════╩═══════════════════════════════════╝
.сс