{img1} |
программа резервного копирования |
|
Однако,
имеется простой способ вызова программы распечатки экрана из
программ на Бзйсике. Сам интепретатор изменяет способ
обслуживания клавиатуры и здесь ничего изменить нельзя, но
можно просто запросить из программы на Бейсике прерывание 5,
описанное выше.
Для программ на Бейсике необходима интерфейсная
процедура на машинном языке, позволяющая обратиться к
операции распечатки экрана, Это очень простая процедура,
состоящая всегно имз двух команд, занимающих три байта. |
англо русский словарь |
|
{img2} |
английский словарь |
|
На
я[зыке ассемблера эти команды записываются так:
INT; вызов прерывания номер 5 (распечатка экрана)
; (2-х байтная команда)
RET; взврат в программу на Бейсике (1 байт)
Такую простую подпрограмму можно просто записать в
память командами POKE и, поскольку длина ее всего три байта,
можно использовать числа обычной точности, Следующая короткая
программа показывает, как это делается:
100 REM Простая программа, позволяющая организовать
110 REM вызов операции распечатки экрана из Бейсика
120 REM Трехбайтная программа на машинном языке
125 REM формируется внутри переменной.
130 HOLD.THE.CODE = 0 'выделяется 4-байтная переменная
140 REM обычной точности
150 PRINT.SCREEN = VARPTR(HOLD.THE.CODE)' установка
указателя
160 REM на область памяти
170 POKE PRINT.SCREEN + 0,205 '1-й байт подпрограммы -
175 REM команда прерывания (INT)
180 POKE PRINT.SCREEN + 1,5 '2-й байт - номер преры-
вания 5
190 POKE PRINT.SCREEN + 2,203 '3-й байт -команда возв-
рата
200 REM
210 REM Теперь подпрограмма в машинных кодах
220 REM храниться в переменной "hold.the.code"
230 REM и ее адрес храниться в "print.screen"
240 REM
250 CALL PRINT.SCREEN
В этой простой программе строки 120-170 записывают
подпрограмму в машинных кодах. Эту процедуру достаточно
выполнить один раз. |
резервное копирование файлов |
|
{img3} |
операционная система windows |
|
Оператор CALL в строке 250 может
выполняться тогда, когда необходимо распечатать содержимое
экрана. (Интерфейсные подпрограммы для всех процедур системы
BIOS и ДОС включены в дисковый пакет, прилагаемый к этой
книге, но такой простой интерфейс, как тот, который описан
выше, можно оформить непосредственно на Бейсике. |
panda antivirus |
|
|
GPS-навигатор, win архиваторы, английский словарь, архиватор winrar, symantec antivirus, .
norton
|
Если в
процессе передачи данных будект обнаружена ошибка, сообщение
об этом будет передано в регистре AH.
Код ошибки Значение
__________ ________
1 обнаружена ошибка циклического избыточного
кода (CRC)
2 утрачены некоторые реквизиты данных
(использующиеся для записи размещения и
информации о битах)
4 данные не найдены
Четвертая процедура, с кодом 3, использщуется для записи
блоков данных на кассету.
На этом мы завершаем изучсение служебных процедур
системы BIOS-ПЗУ, предназначенных для поддержки периферийных
устройств, подключаемых к IBM/PC, но этим не исчетпывается ни
система BIOS, ни оборудование IBM/PC. В следующем разделе мы
рассмотрим все остальное. Но прежде чем двигаться дальше,
нужно сообщить еще одну подробность, касающуюся интерфейса
кассетного накопителя.
Интерфейс кассетного накопителя IBM/PC разрабатывался
только для подключения кассетного накопителя к IBM/PC и он
практически не используется ни в одном компьютере. некоторые
умные люди приспосабливают этот интерфейс для соединени[
IBM/PC с другими устройствами. Одно из возможных
использований - подключение специализированных контроллеров
буферированного приема/передачи.
11.4. Дополнительные процедуры системы BIOS
Помимо тех процедур, которые мы уже рассмотрели, система
BIOS включает еще ряд интересных и полезных служебных
процедур. Программы 11-101 и 11-102, входящие в дисковый
пакет, прилагаемый к этой книге, включают интерфейсные
подпрограммы на ассемблере и вспомогательные процедуры на
Паскале, позволяющие наиболее полно использовать эти
служебные процедуры системы BIOS.
Первая из этих процедур - это процедура распечатки
содержимого экрана. Она обычно вызывается процедурой
обслуживания клавиатуры системы BIOS-ПЗУ, когда та
обнаруживает нажатие клавиши "PrtSc". Распечатка экрана
выполняется программой обслуживания прерывания номер 5 и это
позволяет программно вызывать ту же операцию, запрашивая
прерывание номер 5. Процедура обслуживания клавиатуры,
обнаружив нажатие клавиши "PrtSc", просто вызывает прерывание
5.
Пользующиеся интерпретатором Бейсика замечали, что при
работе с Бейсиком клавиша "PrtSc" не действует.
|
|
|