Amiga. Вычислительная техника
Меню сайта
Главная
Amiga
Amiga Corporation
Модельный ряд
История развития
Аппаратная платформа
Операционные системы
Эмуляция
AMIGA # 1
Программирование на Ассемблере
Организация процессоров
Методы защиты информации
Компьютерные новеллы
Боятся ли компьютеры адского пламени?
Виртуальная реальность
Корпоративные сети
Телекоммуникационные сети
Архитектура ЭВМ
ЕС ЭВМ
Рождение ЭВМ
Компьютер
Гарвардская архитектура
Современные высокопроизводительные компьютеры
Дорога в будущее
Vista
Инфоpматика
ЭВМ
Операционные системы
Linux
Windows
Освой компьютер
Макинтош
Набор текста
Поколения
Компьютерная грамотность
Устройство компьютера
Железо
Графика
Звук
Ремонт
Сети
Программирование
Информационные технологии
Криптография
Микроэлектроника
Истории
 
 

Программирование на Ассемблере


Введите с клавиатуры какой-нибудь текст и нажмите - Вы
увидите, что введенная Вами строка напечатается второй раз.
Мы использовали подпрограмму \"pmsg\" из предыдущего пункта, которая выводит
ASCII-строку, оканчивающуюся нулевым байтом. Для добавления нулевого байта
в конце строки мы используем команду clr.b: так как D0 содержит число
прочитанных байт, то 0(A0,D0) как раз указывает на первую неиспользованную
ячейку буфера.
Распечатав в отладчике содержимое буфера inbuf после ввода текста, Вы
увидите, что введенная Вами строка заканчивается кодом $A. Это - код
клавиши , который тоже учитывается при вводе. Поэтому, например,
после ввода строки \"12\" Вы обнаружите, что D0 содержит число 3.
А теперь исправьте в имени консоли \"CON:\" на \"RAW:\" и запустите программу.
Вы сразу же заметите разницу. Теперь функция Read будет возвращать
управление после ввода каждого символа, не дожидаясь . При этом D0
будет содержать 1.
Преимуществом такого режима ввода является возможность работы с клавишами
управления курсором. Написав специальную подпрограмму, Вы можете вводить
данные посимвольно с помощью getchr и обрабатывать управляющие коды.
Библиотека dos.library предоставляет еще одну полезную функцию для работы с
клавиатурой - WaitForChar (смещение -204). Эта функция ждет нажатия любой
клавиши в течение заданного интервала времени, и если клавиша была нажата,
то WaitForChar возвращает -1 ($FFFFFFFF), иначе - 0. Эта функция может
использоваться, например, для приостановки вывода текста и ожидания нажатия
любой клавиши для продолжения.
Параметры функции WaitForChar:
в D1 идентификатор канала
в D2 длительность ожидания нажатия клавиши (в микросекундах)
Например, следующая программа ждет нажатия клавиши в течение 1 секунды:
WaitForCh = -204 ;(6.4.2C)

...
scankey: ;* ждет нажатия клавиши

move.l conhandle(PC),D1 ;идентификатор окна (консоли)

move.l #1000000,D2 ;1 сек.

 

 

© 2010 Amigo. All Rights Reserved
Создание сайтов ЕкатеринбургШаблоны сайтовПоиск товаров - справочник цен, каталог магазинов, прайс-листыБесплатные шаблоны дизайна компьютерных сайтов
Hosted by uCoz