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

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


Для каждого открытого в Вашей программе файла
рано или поздно должна быть вызвана функция Close.

6.5.2. Чтение и запись данных.
Предположим, что нам нужно создать новый файл и записать в него некоторый
текст. Для начала мы должны написать:
move.l #mode_new,D2 ;режим mode_new
bsr openfile ;создаем файл
beq error ;реакция на ошибку
Пусть по адресу filename записана строка \"Testfile\". Тогда после вызова
подпрограммы openfile в приведенном фрагменте на диске появится новый файл
с именем \"Testfile\" (если файл с таким именем уже существует, то он
предварительно удалится).
Текст для записи в файл определим так:
text: dc.b \"This is a text for the Testfile\",0
textend:
Метка textend введена для упрощения вычисления количества байт в тексте.
Запись данных в файл осуществляется с помощью уже известной Вам функции
Write, которая, напомним, вызывается с тремя параметрами:
в D1 идентификатор канала (файла), полученный при открытии
в D2 указатель на записываемые данные
в D3 количество байт для записи
В нашем случае фрагмент программы для вызова Write будет выглядеть так:
Write = -48 ;(6.5.2B)

...
writedata: ;запись данных в файл

move.l dosbase(PC),A6 ;базовый адрес dos.library

move.l filehd(PC),D1 ;идентификатор файла - в D1

jsr Write(A6) ;записываем данные

rts ;возврат
А в главной программе можно написать:
move.l #text,D2 ;указатель на данные

move.l #textend-text,D3 ;количество байт для записи

bsr writedata ;вызов подпрограммы записи
После этого файл \"Testfile\" нам больше не нужен и мы используем функцию
Close для освобождения ресурсов системы:
bsr closefile ;закрываем файл!

bra end ;конец программы
После запуска получившейся программы Вы увидите в текущем каталоге новый
файл - \"Testfile\".

 

 

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