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

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


Начнем с самой простой команды - с команды управления
мотором дисковода, которую мы уже использовали выше. Номер команды (в нашем
случае 9) указывается в специальном поле структуры ввода/вывода (28-й и
29-й байты).
Параметром команды управления мотором является длинное слово (смещение 36),
которое определяет конкретное действие (0 - выключить, 1 - включить).
Приведем список основных команд trackdisk.device:
Nо. Название Назначение
------------------------------------------------------------------
2 READ чтение одного или нескольких секторов
3 WRITE запись секторов
4 UPDATE обновление буфера трека
5 CLEAR очистка буфера трека
9 MOTOR включение/выключение мотора дисковода
10 SEEK поиск трека
11 FORMAT форматирование трека
12 REMOVE команда инициализации; выполняется

при смене диска
13 CHANGENUM запрос числа перестановок диска
14 CHANGESTATE проверка наличия диска в дисководе
15 PROTSTATUS проверка флага защиты от записи

Рассмотрим подробнее последние три команды. Эти команды используются для
различного рода проверок состояния диска и возвращают результат в
специальном поле (смещение 32) структуры ввода/вывода. В приведенном выше
примере мы сохраняем значение этого поля в D7, что дает возможность
наблюдать результаты работы команд trackdisk.device в окне AssemPro.
Вот образец программы для передачи рассмотренных команд устройству
trackdisk.device:
test: ;(6.5.6B)

lea diskio(PC),A1 ;адрес структуры ввода/вывода

move #13,28(A1) ;номер команды (к примеру, 13)

move.l execbase,A6 ;база exec.library

jsr SendIO(A6) ;посылаем команду
Команда CHANGENUM (код 13) возвращает количество \"манипуляций\" с диском:
если Вы удалите диск из дисковода и затем вставите его обратно, то
значение, возвращаемое командой CHANGENUM, увеличится на два (!).

 

 

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