русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Изменение характеристик файлов


Дата добавления: 2013-12-23; просмотров: 1555; Нарушение авторских прав


Установить дату и время создания или последней модификации файла

Время и дата файла получаются в следующих форматах.

Получить дату и время создания или последней модификации файла

Вывод на экран строки

Вход: AH=40h

BX – дескриптор файла;

СХ – Количество байт для запси;

DS:DX – указатель на область из которой записываются данные;

 

Пример 6:Вывести на консоль строку 'Stroka dlya vivoda na ekran funkcieu 40h'. (Vivod1.asm)

masm

model small

.stack 100h

.data

string db 'Stroka dlya vivoda na ekran funkcieu 40h',0

len_string=$-string

 

.code

start:

mov ax,@data

mov ds,ax

mov bx,1

mov cx,len_string

mov dx,offset string

mov ah,40h

int 21h

jc exit

jnc exit1

exit1:

xor ax,ax

mov ah,3eh

mov bx,1

int 21h

exit:

mov AX,4C00h

int 21h

end start

 


Самостоятельно на практике: Разработать программу, которая бы с консоли заполняла файл my_file1.txt в текущей папке. При этом, длина строки, вводимой в файл с консоли должна содержать не более 60 символов. После того как файл создан, в него консольно записана информация необходимо изменить файл, дописав в конец файла Вашу Фамилию, Имя, Отчество. Изменённый файл вывести на консоль.

 


Получить/изменить дату и время создания или модификации файла можно с помощью подфункций функции 57h.

Вход: АХ = 5700h; ВХ = дескриптор файла.

Выход: Если CF = 0: СХ = время, DX = дата.

Если CF = 1: АХ = код ошибки (CF = п. 1 — недопустимый номер подфункции в А1; 6 — недопустимый дескриптор.

CX=Время DX=Дата
Биты Описание Биты Описание
15-11 Часы (0-23) 15-9 Год
10-5 Минуты 8-5 Месяц
4-0 Секунды 4-0 День

 

Вход: АХ = 5701h; ВХ - дескриптор файла; СХ - новое время, DX = новая дата.



Выход: Если CF = 0: СХ = время, DX = дата.

Если CF = 1 — АХ = код ошибки: 1 — недопустимый номер подфункции в Аl; 6 — недопустимый дескриптор.


Рассмотрим в качестве примера программу задания даты и времени создания файла (пример 13.4).

Пример 7. Назначение файлу даты и времени создания.

;В сегменте команд

;---------------------------Откроем файл ---------------------------------

mov AH,3Dh ; Функция открытия файла

mov AL,2

mov DX,offset fname ; Адрес имени файла

int 21h

mov handle,ax ; Получили дескриптор

;---------------Изменим дату и время создания файла ---------------

mov ah,57h ; Функция даты/времени

mov al,1 ; Установить дату/время

mov bx,handle ; Дескриптор файла

mov сх.,0 ; очистим Сх

or cx,sec ; добавим секунды cx=0000 0000 0000 0110

or cx,min ; добавим минуты cx=0000 0001 1110 0110

or cx,hour ;добавим часы cx=0110 0001 1110 0110

xor dx,dx ; очистим dx

or dx,day ; добавим день

or dx,month ;добавим месяц

or dx,year ; добавим год

int 21h

;В сегменте данных

handle dw 0 ; ячейка для дескриптора

fname db ‘MYFILE.TXT’,0 ; имя файла

sec dw 6 ; 6 секунд = 110

min dw 15*32 ; 15 минут =1111 => 001111 00110

hour dw 12*2048 ; 12 часов =1100 => 01100 001111 00110

day dw 10 ; 10 число

month dw 3*32 ; март

year dw 21*512 21 год от 1980, то есть 2001 г.

 

Для установки даты и времени создания файла используется функция 5701h. Она требует указания даты (в регистре DX) и времени (в регистре СХ) в том же формате, в котором эти данные хранятся в элементе каталога. Сдвиг составляющих даты/времени в соответствующие места осуществляется с помощью команд умножения на этапе трансляции. Например, для сдвига числа минут в группу битов 5... 10 число необходимо умножить на 25=32.




<== предыдущая лекция | следующая лекция ==>
С третьего байта записывается вводимая строка, включая последний символ CR (0Dh). | Перечислим функции API Win32, имеющие отношение к работе с файловой системой.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.007 сек.