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