Передовица » Макулатура » Штатная документация » Агат-9 Книга 9 (3) » Фг.00035-01 33 01

Фг.00035-01 33 01

    УТВЕРЖДЕН

Фг.00035-01 33 01-ЛУ

МАШИНА ВЫЧИСЛИТЕЛЬНАЯ ЭЛЕКТРОННАЯ

ПЕРСОНАЛЬНАЯ "АГАТ"

(исполнение 9)

Система программирования "Бейсик"

Системный монитор

Руководство программиста

Фг.00035-01 33 01

1991

 

* * *

АННОТАЦИЯ

В документе описывается назначение, условия применения, а также приведены основные характеристики программы "Системный монитор" (монитор) для персональной электронной вычислительной машины (ПЭВМ) "АГАТ" исполнение 9.

СОДЕРЖАНИЕ

1. Назначение и условия применения программы             
2. Характеристики программы                              
3. Обращение к программе                                 
   3.1. Запуск монитора                                  
   3.2. Диалог монитора                                  
        3.2.1. Осмотр содержимого памяти                 
        3.2.2. Изменение содержимого памяти              
        3.2.3. Передвижение интервала памяти (ИП)        
        3.2.4. Сравнение двух ИП                        
        3.2.5. Запись и считывание с МЛ                 
        3.2.6. Просмотр текста программы                
        3.2.7. Задание текстовой страницы               
        3.2.8. Задание цвета текста                     
        3.2.9. Осмотр и изменение регистров             
        3.2.10. Подключение периферийных контроллеров   
   3.3. Программные обращения к процедурам монитора     
        3.3.1. Вывод символа                            
        3.3.2. Вывод на экран                           
        3.3.3. Установка инверсного режима              
        3.3.4. Нормальный режим                         
        3.3.5. Исполнение перевода строки               
        3.3.6. Чистка до конца экрана                   
        3.3.7. Шестнадцатеричная печать байта           
        3.3.8. Печать шестнадцатеричной цифры           
        3.3.9. Печать содержимого регистров А и Х       
        3.3.10. Печать пробелов                         
        3.3.11. Вывод звукового сигнала                 
        3.3.12. Ввод входного символа                   
        3.3.13. Взять входной символ или РЕД-код        
        3.3.14. Считать с клавиатуры                    
        3.3.15. Взять входную строку                   
        3.3.16. Задержка                               
        3.3.17. Включение экрана                        

1. НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ ПРОГРАММЫ

Программа "Системный монитор" - это минимум программного обеспечения, который необходим для работы пользователя с ПЭВМ "АГАТ".

Программа предназначена для выполнения трех основных функций:

при включении ПЭВМ "АГАТ" ("холодный" старт) программа осуществляет осмотр конфигурации и запускает выполнение элементов программного обеспечения;

обеспечивает обмен с базовыми устройствами ввода-вывода - видеоконтрольным устройством (ВКУ), клавиатурой, магнитофоном;

предоставляет пользователю диалоговые возможности для осмотра, сравнения, изменения содержимого памяти и регистров процессора в шестнадцатеричной редакции и мнемокоде системы команд.

2. ХАРАКТЕРИСТИКИ ПРОГРАММЫ

Программа "Системный монитор" занимает в постоянном запоминающем устройстве (ПЗУ) объем памяти 2К байт и расположена с адреса $F800 по адрес $FFFF.

При включении питания ПЭВМ "АГАТ" автоматически осуществляется запуск программы с адреса подпрограммы, которая обрабатывает сигнал СБРОС.

Адрес подпрограммы обработки сигнала СБРОС записан в ячейках $FFFC-$FFFD.

Программа обеспечивает интерактивный режим работы с ПЭВМ "АГАТ". При одновременном нажатии клавиш УПР и СБР программа проверяет сохранность входных ячеек оперативной памяти по адресам $3F3 и $3F4.

При нарушении информации в них (<3F3>EOR<3F4> не равно ¤A5) проводится полный объем начальных установок ("холодный" старт), иначе выполняется "теплый" перезапуск загруженного программного обеспечения с сохранением содержимого памяти.

Программа обеспечивает выдачу информации на экран в следующих режимах:

цветном текстовом (8 цветов, 32*32 знакоместа);

черно-белом текстовом (32*64 знакоместа).

Обмен с магнитофоном программа "Системный монитор" осуществляет со скоростью 1К бод.

В настоящем документе рассматриваются две версии программы:

"монитор - ПЗУ", размещенный в ПЗУ и доступный для работы до завершения загрузки той или иной системы программирования;

"монитор - Бейсик", загружаемый в тот же диапазон адресов ПЗУ в составе интерпретатора языка "Бейсик", и отличающийся несколько расширенным набором функций.

В руководстве описан "монитор - Бейсик". Отличия "монитора - ПЗУ" указаны в скобках (*...*).

3. ОБРАЩЕНИЕ К ПРОГРАММЕ

3.1. Запуск монитора

При включении питания ПЭВМ "АГАТ" программа начинает работу. Производится осмотр конфигурации периферийных контроллеров, установленных в разъемах шины ПЭВМ "АГАТ", и определяется наличие дискового контроллера. Если он найден, осуществляется загрузка с диска (см. Фг.00035-01 33 03). В противном случае, подключается диалог монитора.

3.2. Диалог монитора

Для включения диалога монитора достаточно передать управление по адресу $FF69 (65385 или -151 в 10-й системе счисления), что выполняется командами CALL-151 или CALL 65385 языка программирования "Бейсик".

Признаком готовности программы к диалогу служит появление на экране приглашения "*" в начале строки, в которой по мере набора с клавиатуры будет появляться требуемая директива. Справа от приглашения появляется курсор - мерцающий подчерк, который указывает позицию вывода очередного символа ( при нажатии клавиши на его место выводится символ, а курсор сдвигается вправо).

Ввод строки с клавиатуры (не больше 255 символов) завершается нажатием клавиши "↵" (перевод строки). Программа начинает анализировать входную строку.

Монитор воспринимает информацию трех типов: адреса, данные, команды (директивы).

Для представления адреса используются четыре шестнадцатеричные цифры, для представления данных - две. Программа запоминает адреса в 5 ячейках. Три из них специальные: адрес последней опрошенной ячейки (ПОЯ), адрес следующей изменяемой ячейки (СИЯ) и адрес команды (АК). В диалоге монитора может использоваться одновременное нажатие двух клавиш:

УПР-Л - очистка всего экрана;

УПР-Щ - очистка до конца текущей строки;

УПР-Ч - очистка до конца экрана;

УПР-Г - звуковой сигнал;

УПР-Ь - отмена набранной строки.

Кроме того, могут использоваться следующие управляющие клавиши:

"стрелка вправо" - чтение указанного курсором символа в буфер ввода;

"стрелка влево" - удаление последнего введенного символа из буфера;

"стрелка вверх" - перевод курсора экрана ВКУ на одну строчку вверх;

"стрелка вниз" - перевод курсора на одну строчку вниз.

Если вначале нажать клавишу РЕД, а затем клавишу "стрелка вправо" или "стрелка влево", тогда изменение буфера ввода не происходит. При этом только перемещается курсор на экране ВКУ. Нажатие любой другой клавиши возвращает первоначальные функции стрелкам.

(* В мониторе ПЗУ "РЕД" не работает. Для редактирования строк применяются функциональные F2 - удаление символа, на котором стоит курсор, и F3 - вставка пробела на место курсора. *)

Перечисленные управляющие клавиши позволяют исправлять ошибки в процессе набора строки, для чего надо вернуться к ошибочному месту стрелкой влево, набрать там правильный символ и дойти стрелкой вправо до места, откуда следует продолжить директиву.

Если нужная директива уже есть на экране (была набрана раньше), для ее повторного исполнения достаточно стрелками вверх (вниз) и, при необходимости, вправо (влево) в режиме РЕД подойти курсором к началу директивы на экране, а затем пройти ее стрелкой вправо до конца и нажать перевод строки.

При работе с диапазонами адресов $8000-$BFFF и $D000-$FFFF следует учитывать возможность подключения на них различных участков физической памяти (см. Фг3.032.002 ТО5). 2 последовательных банка памяти, осматриваемых и изменяемых монитором на адресах дополнительного ОЗУ ($8000-$BFFF) задаются в ячейке $Е8 кодом $4N (N - номер первого из 2 банков), а на адресах эмулятора ПЗУ ($D000-$FFFF) - в ячейке $Е9 кодом $6N или $EN, при этом старший бит кода (Е/6) указывает подключение 0-го (6) или 1-го (Е) полубанка на адреса $D000-$DFFF. (* В мониторе ПЗУ банк задается непосредственно на регистрах ПЭВМ $С100 и $СХ00 (Х - номер разъема дополнительного ОЗУ).*).

3.2.1. Осмотр содержимого памяти

Если набрать адрес ячейки памяти, то на экране появится этот адрес и через тире и пробел - содержимое этой ячейки памяти. Ячейка памяти запоминается как ПОЯ и СИЯ.

Пустая директива (нажать только перевод строки) выводит содержимое памяти от ПОЯ+1 до ближайшего большего адреса, кратного 8. Если ПОЯ+1 было кратно 8, перед этой строкой выводится ее адрес. Таким образом, нажимая несколько раз перевод строки, можно выводить содержимое памяти по 8 байт с адресами.

Если набрать точку с последующим адресом, монитор выдаст на экран дамп памяти (ДП) - содержимое всех ячеек памяти после ячейки памяти, запомненной как ПОЯ, кончая ячейкой памяти, набранной после точки.

Описанные две команды можно объединить в одну для того, чтобы вывести на экран содержимое любого интервала памяти (ИП).

3.2.2. Изменение содержимого памяти

Если набрать двоеточие и последующие за ним данные (две шестнадцатеричные цифры), то содержимое ячейки памяти, запомненной как СИЯ, изменится и станет равным вновь набранному. Можно объединить эту команду с предыдущей. Для этого необходимо набрать адрес (он запомнится как СИЯ), двоеточие и данные. При этом можно изменить значение содержимого 85 ячеек памяти одновременно, набирая данные через пробел. После присвоения строки данных ячейка памяти, следующая за последней измененной, становится СИЯ.

3.2.3. Передвижение интервала памяти (ИП)

Передвижение интервала памяти осуществляется с помощью подпрограммы MOVE.

Для этого необходимо набрать директиву:

АНП<АНИ.АКИ М

где АНП - начальный адрес получателя, адрес нового местоположения ИП,

АНИ - адрес начальный источника, адрес первой ячейки ИП,

АКИ - адрес конечный источника, адрес последней ячейки ИП.

По этой команде монитор делает копию ИП и передвигает ее на указанное местоположение. Последняя ячейка первоначального ИП запоминается как ПОЯ, первая ячейка - как СИЯ.

Если второй адрес ИП меньше первого, то будет передвинуто содержимое только первой ячейки памяти.

Если адрес нового местоположения лежит внутри ИП, то содержимое подинтервала ИП, определяемого началом ИП и местоположением, будет повторяться далее на всем ИП. Этот эффект может использоваться, например, для заполнения одинаковой информацией больших ИП. Например, команды

1000:0

1001<1000.5000М

обнуляют интервал от 1000 до 5000.

3.2.4. Сравнение двух ИП

С помощью подпрограммы VERIFY можно сравнить два интервала памяти, используя формат команды переписи:

АНП<АНИ.АКИ V

если будут найдены отличия, на экране ВКУ появится адрес ячейки памяти в первоначальном ИП, чье значение отличается от соответствующего значения ИП, начинающегося с указанного местоположения. Если отличий не найдено, на экране ничего не появляется. Оба ИП не изменяются, ПОЯ и СИЯ определяются так же, как в команде MOVE. Если адрес местоположения лежит внутри первоначального ИП, то команду VERIFY можно использовать для проверки на одинаковость заполнения первоначального ИП подинтервалом от начала ИП до места заполнения.

(*3.2.5. Запись и считывание с МЛ

Программа позволяет записать ИП на магнитную ленту и снова считать ИП с МЛ для дальнейшего пользования. (* В мониторе ПЗУ реализовано только чтение.*)

Для записи на МЛ монитору необходимо подать адреса первой и последней ячейки ИП через точку и затем букву "W" (WRITE ). До того, как нажать перевод строки, необходимо нажать клавишу "запись" на магнитофоне и дать ленте прокрутиться несколько секунд.

Формат команды чтения с МЛ "R" (READ ) такой же, что и команды записи на МЛ.

Перевод строки следует нажимать, когда начнется воспроизведение однотонного звука с магнитофона.

3.2.6. Просмотр текста программы

Используя диалог монитора, можно написать любую программу в машинных кодах. С помощью команды "L" (LIST ) можно посмотреть текст программы в мнемокоде системы команд. Выполнение программы осуществляется с помощью команды "G" (GO ). Форматы этих команд:

адрес начала программы L

адрес начала программы G

Команды "L" и "G" устанавливают содержимое АК: при выполнении команды "G" АК становится равным набранному адресу (или остается неизменным, если ничего не набрано), при выполнении команды "L" АК устанавливается равным адресу следующей за последней выведенной ячейкой.

3.2.7. Задание текстовой страницы

С помощью команды "NT" можно подключить для отображения диалога нужный участок памяти, где N - номер текстовой страницы (участка памяти).

При этом, если N находится в интервале от 0 до 31, текст на экране ВКУ будет выдаваться в цветном режиме 32х32 символа. Если N - величина от 32 до 63, тогда текст будет выдаваться в монохроматическом режиме 32х64 символа.

При использовании различных областей памяти для отображения в графических и текстовых режимах необходимо следить за возможными пересечениями их с рабочими зонами СП "Бейсик" с учетом исполнения ПЭВМ "АГАТ", применяемой для эксплуатации программы. Адреса текстовых экранов приведены в табл.1.

                                                    Таблица 1
----------------------------------------------------------
Номера:Адреса экранов 
экрана:---------------
      :Исполнение 9:
------:------------:
0     : 0*         :
------:------------:
1     : 800***     :
------:------------:
2     :1000        :
------:------------:
3     : 1800*      :
------:------------:
4-23  :2000-B800** :
------:------------:
24-31 :D000-F800*  :
------:------------:
------:------------:
32    : 0*         :
------:------------:
33    :800***      :
------:------------:
34    :1000        :
------:------------:
35    :1800*       :
------:------------:
36-55 :2000-B800** :
------:------------:
56-63 :D000-F800*  :
------:------------:


------------------------------

* Использование зоны приводит к нарушению работы системы. (* В мониторе ПЗУ только экраны 0 и 32.*)

** Зона пересекается с рабочей памятью интерпретатора "Бейсик", может испортиться программа пользователя или ее переменные. Использование зоны следует предусмотреть при размещении программы языка "Бейсик" /или переменных (см. Фг.00035-01 33 02).

*** Зона пересекается с рабочей памятью ДОС. Для ее использования необходимо отключить ДОС (директива отключения: 36<57A.57D M).

3.2.8. Задание цвета текста

С помощью команды "NO" можно при работе в цветном текстовом режиме задать цвет текста, который выводится на экран ВКУ, где N - цифра от 0 до 7. Цвета нумеруются с 0 в порядке: черный, красный, зеленый, желтый, синий, фиолетовый, голубой, белый.

(* В мониторе ПЗУ используются также номера цветов $N0-$N7 где N - номер (от 0 до 3) включаемой этой директивой палитры по табл.11 Фг3.032.002 ТО5.*)

3.2.9. Осмотр и изменение регистров

Содержимое регистров процессора, устанавливаемое при запуске программы по команде  "G" (см. п. 3.2.6.) можно получить, одновременно нажав клавиши УПР И Е (* латинское Р без УПР*) с последующим переводом строки.

Для установки содержимого регистров требуемые значения набирают в порядке A (аккумулятор), X, Y (индексные регистры), P (регистр признаков), S (указатель стека), после <УПР-Е>:, например

<УПР-Е>:00 07 40

устанавливает A,X и Y, оставляя неизменными P и S.

Если исполнение запущенной программы заканчивается возвратом, исходное содержимое регистров не изменяется. Если исполнение прерывыается по команде BRK (код команды 00), запоминается содержимое регистров на момент выполнения этой команды.

(* 3.2.10 Подключение периферийных контроллеров

Команда Х<УПР-П> выполняет запуск контроллера на разъеме Х. Дисковый контроллер при этом выполняет загрузку с установленного в нем диска, контроллер печати подключается к потоку вывода и выводит на принтер каждый байт, передаваемый на программу COUT. Нажатие <УПР-Я> при подключенном командой <УПР-П> принтере вызывает копирование текущего экрана на бумагу. Отключение контроллеров происходит при нажатии <УПР-СБР> или при выполнении команды 0<УПР-П>.*)

3.3. Программные обращения к процедурам монитора

Одной из возможностей, предоставляемых монитором, является использование его пользователем как системной библиотеки.

Ниже перечислены некоторые подпрограммы монитора.

Для использования этих подпрограмм программами пользователя необходимо выполнить команду JSR - переход на начальный адрес подпрограммы, перед этим при необходимости задать начальные параметры (загрузив требуемые регистры и ячейки памяти).

3.3.1. Вывод символа

Подпрограмма вывода символа COUT.

Адрес подпрограммы FDE1 (*FDED*).

Выводимый символ должен быть в аккумуляторе.

COUT передает управление по адресу, лежащему в CSW (ячейки 36, 37) (*обычно это COUT1*).

3.3.2. Вывод на экран

Подпрограмма вывода на экран COUT1.

Адрес подпрограммы FDE4 (*FDF0*).

COUT1 выводит символ в текущую позицию экрана. Содержимое всех регистров не меняется. COUT1 интерпретирует следующие управляющие коды:

8D,8A - перевод строки;
88 - возврат на один символ влево;
95 - сдвиг на один символ вправо;
99 - перемещение на одну строчку вверх;
9A - перемещение на одну строчку вниз;
8C - очистка всего экрана;
9D - очистка до конца текущей строки;
9E - очистка до конца экрана;
(*85 - удаление символа под курсором;*)
(*86 - вставка пробела на место курсора;*)
87 - звуковой сигнал.

3.3.3. Установка инверсного режима

Подпрограмма установки инверсного режима SETINV.

Адрес подпрограммы FЕ7A (*FEB2*).

SETINV устанавливает инверсный режим для COUT1.

Все символы будут выводиться как черные точки на цветном фоне.

Изменяется регистр А.

В режиме 32х64 инверсным может быть только весь экран (см. п. 3.2.7).

3.3.4. Нормальный режим

Подпрограмма установки нормального режима SETNORM.

Адрес подпрограммы FE7E (*FEB5*).

SETNORM устанавливает нормальный режим для COUT1.

Символы выводятся как цветные точки на черном фоне.

Изменяется регистр А.

3.3.5. Исполнение перевода строки

Подпрограмма исполнения перевода строки CROUT.

Адрес подпрограммы FD92 (*FDE2*).

CROUT осуществляет передачу символа "перевод строки" ($8D) подпрограмме COUT.

3.3.6. Чистка до конца экрана

Подпрограмма возврата с чисткой экрана CLREOP.

Адрес подпрограммы FC4B (*FC4D*).

CLREOP очищает экран от текущей позиции курсора до угла (конца) текстового окна.

Может быть вызвана подачей на COUT символа $9E (УПР-Ч, функциональная "8").

3.3.7. Шестнадцатеричная печать байта

Подпрограмма шестнадцатеричной печати байта PRBYTE.

Адрес подпрограммы FDCE (*FDCB*).

PRBYTE выводит содержимое аккумулятора в шестнадцатеричной системе. Регистр А изменяется.

3.3.8. Печать шестнадцатеричной цифры

Подпрограмма печати шестнадцатеричной цифры PRHEX.

Адрес подпрограммы FDD7 (*FDD4*).

PRHEX выводит последние четыре бита аккумулятора как одну шестнадцатеричную цифру. Содержимое аккумулятора изменяется.

3.3.9. Печать содержимого регистров А и Х

Подпрограмма печати содержимого регистров А и Х PRNTAX.

Адрес подпрограммы F93C (*F921*).

PRNTAX выводит содержимое регистров А и X как четыре шестнадцатеричные цифры.

Аккумулятор содержит первый выводимый байт, регистр Х - второй. Содержимое аккумулятора не сохраняется.

3.3.10. Печать пробелов

Подпрограмма печати двух пробелов PRBLNK.

Адрес подпрограммы FF5A (*FF59*).

Подпрограмма печати нескольких пробелов PRBL2.

Адрес подпрограммы FF5C (*FF5B*).

PRBL2 выводит от 1 до 256 пробелов.

В регистре X должно содержаться количество выводимых пробелов. Если регистр X=00, то выводится 256 пробелов.

3.3.11. Вывод звукового сигнала

Подпрограмма вывода звукового сигнала BELL может быть вызвана подачей на COUТ символа $87.

Адрес подпрограммы FF3D (*FCC7*).

BELL выводит звуковой сигнал (УПР-Г).

3.3.12. Ввод входного символа

Подпрограмма ввода входного символа RDKEY.

Адрес подпрограммы FBCB (*FD21*).

RDKEY переходит к подпрограмме ввода, адрес которой лежит в ячейке KSW ( ¤38-39).

(* Обычно это программа KEYIN (см.п. 3.3.14) *).

3.3.13. Взять входной символ или РЕД-код

Подпрограмма РЕД-код или RDCHAR.

Адрес подпрограммы FB74 (*FD63*).

RDCHAR - дополнительная подпрограмма ввода, которая вводит символы, обращаясь к RDKEY (см.п.3.3.14), и при этом интерпретирует следующие редактирующие клавиши:

"стрелка вверх" - перемещение курсора на 1 позицию вверх;

"стрелка вниз" - перемещение курсора на 1 позицию вниз;

РЕД - переход в режим свободного горизонтального перемещения (*отсутствует*);

"стрелка вправо" - перемещение на 1 позицию вправо (в свободном перемещении)(*отсутствует*);

"стрелка влево" - перемещение на 1 позицию влево (в свободном перемещении). Интерпретируемые символы не приводят к завершению программы, выполняется ожидание следующего нажатия на клавиатуре. Выход из режима свободного перемещения происходит по нажатию любой, отличной от стрелок влево и вправо, клавиши, которая при этом не вводится (*отсутствует*).

(*"F2" - удаление символа, на котором расположен курсор;*)

(*"F3" - вставка пробела на место курсора. Сдвигаемая часть строки справа от курсора заканчивается кодом очистки экрана $20.*)

3.3.14. Считать с клавиатуры

Подпрограмма считать с клавиатуры KEYIN.

Адрес подпрограммы FD11 (*FD24*).

KEYIN читает с клавиатуры, ожидая, пока нажмут клавишу.

После считывания кода символа KEYIN передвигает мерцающий курсор и возвращает код символа в аккумуляторе.

Возвращаемые программами ввода с клавиатуры коды клавиш приведены в табл.2.

                                               Таблица 2
                      Коды клавиш
-------------------------------------------------------------
Клавиша     Русский регистр  Латинский регистр  вместе с УПР 
           одна     с РЕГ    одна      с РЕГ    
-------------------------------------------------------------
  ;         BB       AB       BB        AB         BB
  1         B1       A1       B1        A1         B1
  2         B2       A2       B2        A2         B2
  3         B3       A3       B3        A3         B3
  4         B4       A4       B4        A4         B4
  5         B5       A5       B5        A5         B5
  6         B6       A6       B6        A6         B6
  7         B7       A7       B7        A7         B7
  8         B8       A8       B8        A8         B8
  9         B9       A9       B9        A9         B9
  0         B0       A0       B0        A0         B0
  -         AD       BD       AD        BD         AD
 'вверх'    99       99       99        99         99
 РЕД        9B       9B       9B        9B         9B
 Функ.1     90       90       90        90         90
 Функ.2     91       91       91        91         91
 Функ.3     92       92       92        92         92
  Й         6A       EA       CA        4A         8A
  Ц         63       E3       C3        43         83
  У         75       F5       D5        55         95
  К         6B       EB       CB        4B         8B
  E         65       E5       C5        45         85
  H         6E       EE       CE        4E         8E
  Г         67       E7       C7        47         87
  Ш         7B       FB       DB        5B         9B
  Щ         7D       FD       DD        5D         9D
  З         7A       FA       DA        5A         9A
  Х         68       E8       C8        48         88
  :         BA       AA       BA        AA         BA
 'влево'    88       88       88        88         88
 'вниз'     9A       9A       9A        9A         9A
 'вправо'   95       95       95        95         95
 Функ.4     93       93       93        93         93
 Функ.5     94       94       94        94         94
 Функ.6     9C       9C       9C        9C         9C
  Ф         66       E6       C6        46         86
  Ы         79       F9       C9        49         99
  В         77       F7       D7        57         97
  А         61       E1       C1        41         81
  П         70       F0       D0        50         90
  Р         72       F2       D2        52         92
  О         6F       EF       CF        4F         8F
  Л         6C       EC       CC        4C         8C
  Д         64       E4       C4        44         84
  Ж         76       F6       D6        56         96
  Э         7C       FC       DC        5C         9C
  .         AB       BB       AB        BB         AB
Пер. строки 8D       8D       8D        8D         8D
 Функ.7     9D       9D       9D        9D         9D
 Функ.8     9E       9E       9E        9E         9E
 Функ.9     9F       9F       9F        9F         9F
  Я         71       F1       D1        51         91
  Ч         7E       FE       DE        5E         9E
  С         73       F3       D3        53         93
  М         6D       ED       CD        4D         8D
  И         69       E9       C9        49         89
  Т         74       F4       D4        54         94
  Ь         78       F8       D8        58         98
  Б         62       E2       C2        42         82
  Ю         60       E0       C0        40         80
  ,         AC       BC       AC        BC         AC
  /         AF       BF       AF        BF         AF
  Ъ         7F       FF       DF        5F         9F
 Функ.0     81       81       81        81         81
 Функ.'.'   82       82       82        82         82
 Функ.'='   83       83       83        83         83
 Пробел     A0       A0       A0        A0         A0
 F1         84       84       84        84         84
 F2         85       85       85        85         85
 F3         86       86       86        86         86
--------------------------------------------------------

3.3.15. Взять входную строку

Подпрограмма взять входную строку GETLN.

Адрес подпрограммы FD72 (*FD96*).

GETLN выводит приглашение из ячейки $33.

Собирает символы входной строки во входной буфер (начинающийся с адреса $200), пока не встретится перевод строки.

GETLNZ - вход в подпрограмму GETLN с адресом FD6F (*FD93*).

Перед тем, как передать управление GETLN, курсор устанавливается в начало строки.

3.3.16. Задержка

Подпрограмма задержки WAIT.

Адрес подпрограммы FB94 (*FB94, $FCA8*).

WAIT производит временную задержку, а затем передает управление основной программе.

Время задержки зависит от содержимого аккумулятора.

Если в аккумуляторе содержится величина А, то время задержки будет:

(5*А*А+27*А+26)/2 мкс.

WAIT возвращается с обнуленным аккумулятором.

Регистры Х и Y не изменяются.

3.3.17 Включение экрана

Подпрограмма включения режима отображения SWSCRN.

Адрес подпрограммы F800 (*F800*).

Выполняется включение заданного графического или текстового режима отображения на экране ВКУ. Для текстовых режимов выполняется настройка программ монитора на вывод в зону памяти, соответствующую заданному экрану.

В регистре Х задается тип режима: 1 - графика 128х128; 2 - текст; 3 - графика 256х256. (* X не значащий, включает только текстовые режимы.*)

В аккумуляторе задается номер экрана от 1 до 3 для графических 128х128 и 256х256 режимов, от 1 до 63 для текстовых и графического 64х64 режимов.

Текстовые экраны с номерами от 1 до 31 - цветные 32х32 символа, с номерами от 33 до 63 - монохроматические 32х64 символа.

Размещение текстовых экранов описано в п. 3.2.7, графические 128х128 и 256х256 экраны занимают по 4 текстовых.

* * *

Использование материалов проекта agatcomp без получения предварительного письменного разрешения agatcomp запрещено.


Почта для обратной связи: mail@agatcomp.ru


Живое общение по теме Агата: Telegram группа Agatcomp.


Накопленные знания и проекты: тематический ФОРУМ.


© 2004-2024 agatcomp.su / agatcomp.ru

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *