Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[25]

0302В500LDA00, X

!STA Д 10, X

03049510STA И 10.X

!DEX

0306CADEX !STA СОЗ 0

03078D30 CO STAC030

Чтобы выйти из мини-ассемблера и вернуться в монитор, необходимо нажать клавишу СБР или набрать команду монитора, начинающуюся знаком U например:

!« FF69G

*

Теперь программа на языке ассемблера размещена в памяти. Ее снова можно просмотреть с помощью команды LIST.

Для облегчения поиска ошибок в программах, написанных в машинных кодах, в мониторе предусмотрены команды STER и TRACE:

STER - оценивает, выполняет и индуцирует машинную программу шаг за

шагом;

TRACE - автоматически выполняет эти пошаговые действия и останавливается лишь тогда, когда выполнится команда BRK.

На следующем примере можно проследить, что происходит при пошаговом выполнении с помощью STER введенной программы на мини-ассемблере:

*300S f

0 300- А2 02LDA# Н 02

А=ОА Х=02 Y=D8 Р=3 0 S=F8

*sf

0 302- В500LDAftOO.X

А=ОС Х=02 Y=D8 Р=3 0 S=F8

0 304 9510STA# 10,Х

А=ОС Х=02 Y=D8 Р=3 0 S=F8

*12 f

0 012 - ОС *

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

*Т Г

Команды монитора работы с текстом. К этим командам относятся следующие: NT - вывод на экран ВКУ текстовой страницы (N - номер текстовой страницы);

NO - задание цвета текста, который выводится на экран ВКУ (N = 0 + 7). Каждая цифра кодирует цвет символов, выводимых далее на ВКУ.

С помощью команды NT можно вывести на экран ВКУ нужный участок памяти в


виде текста. При этом, если N = 0 + 31, текст на экран ВКУ будет выдаваться в режиме 32x32 символа, если N = 32 + 63 - в режиме 32x64 символа.

Следует помнить, что каждая текстовая страница занимает # 800 байт памяти. Нулевая страница начинается с адреса 0. Адрес тексто вой страницы определяется по формуле

А = Д 800 х N.

Страница с N = 32 начинается, как и нулевая, с адреса 0. Попытка использовать страницы с нулевым адресом приводит к искажению содержимого рабочих ячеек системы и "зависанию" монитора.

С помощью команды NO можно задать цвет текста, который выводится на экран ВКУ. Каждая цифра N кодирует цвет выводимых на ВКУ символов.

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

Ниже перечислены некоторые подпрограммы монитора (в скобках указаны адреса подпрограмм монитора языка БЕЙСИК):

COUT - подпрограмма подготовки вывода символа на экран. Адрес подпрограммы FDDC (FDD4). Выводимый символ должен быть в аккумуляторе.

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

COUT1 - подпрограмма вывода символа на экран. Адрес подпрограммы FDDF (FDD7).

COUT1 выводит символ в текущую позицию экрана. Содержимое всех регистров оставляет без изменений. Интерпретирует следующие управляющие коды: 8 - перевод строки; 88 - возврат на один символ влево; 95 - сдвиг на один символ вправо; 99 - перемещение на одну строчку вверх; 9А - перемещение на одну строчку вниз; 8С - очистка всего экрана; 9D - очистка до конца текущей строки; 9Е - очистка до конца экрана; 87 - звуковой сигнал.

SETTNV - подпрограмма установки инверсного режима. Адрес подпрограммы FE75 (FE77).

SETTNV устанавливает инверсный режим для COUT1. Все символы будут выводиться как черные точки на цветном фоне. Изменяется содержимое регистра А.

SETNORM - подпрограмма нормального режима. Адрес подпрограммы FE79 (FE7B).

SETNORM устанавливает нормальный режим для COUT1. Символы выводятся как цветные точки на черном фоне. Изменяется содержимое регистра А.

CROUT - подпрограмма ввода символЕГ, . Адрес подпрограммы FD8E (FD75).

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


CROUT 1 - подпрограмма возврата с чисткой жрана. Адрес подпрограммы FD89 (FD70).

CROUT 1 очищает жран от текущей позиции курсора до угла (конца) текстового окна, затем вызывает CROUT вводом в подпрограмму COUT символа tt 9Е (УПР-И, функциональная "8").

PRBYTE - подпрограмма шестнадцатеричной печати байта. Адрес подпрограммы FDC9 (FDC1).

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

PRHEX - подпрограмма печати шестнадцатеричной цифры. Адрес подпрограммы FDD2 (FDDА).

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

PRNTAX - подпрограмма печати содержимого регистров А и X. Адрес подпрограммы F932 (F932).

PRNTAX выводит содержимое регистров А и X как четыре шестнадцатеричные цифры. Аккумулятор содержит первый выводимый байт, регистр X - второй. Содержимое аккумулятора не сохраняется.

PRBLNK - подпрограмма печати двух пробелов. Адрес подпрограммы FF5A (FF5A).

PRBLZ - подпрограмма печати нескольких пробелов. Адрес подпрограммы FF5C (FF5C).

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

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

BELL - подпрограмма вывода звукового сигнала (УПР-Г). Адрес подпрограммы FCB4 (FCAE).

Может быть вызвана вводом в COUT символа ft 87.

RDKEY - подпрограмма ввода входного символа. Адрес подпрограммы FDOA (FD04).

RDKEY переходит к подпрограмме ввода, адрес которой лежит в ячейке KSW ( И 38, Д 39); обычно это программа KEYIW.

PDCHAR - подпрограмма РЕД - код. Адрес подпрограммы FB7A (FB66).

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

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

"\" - перемещение курсора на одну позицию вниз;

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

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

"•*-" - перемещение на одну позицию влево (в свободном перемещении).

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

KEYIN - подпрограмма считывания с клавиатуры. Адрес подпрограммы FDOD (FD07).



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98]