Изменить дату создания файла
Добавлено: 10 ноя 2012, 14:46
Очень нужна помощь. Ассемблер для процессора 8086. Требуется создать файл на диске А и изменить дату его создания, а также обработать ошибку, если диск отсутствует. Программа не меняет дату и выводит при этом ошибку:
code segment
assume cs:code, ds:data, ss:stek
start:
mov ax,data
mov ds,ax
mov ah,3ch; функция прерывания для создания файла
mov cx,0;без атрибутов
lea dx,filename;загрузка эффективного адреса файла в dx
int 21h
jc MError;переход на метку если диск отсутствует
mov handle,ax; сохранить описатель файла
mov ax,3d02h; открыть описатель файла для чтения и записи
lea dx, filename; загрузка эффективного адреса файла в dx
int 21h
jc MError
mov ax,5707h
mov bx,handle
mov cx,0
mov dx,0001100101111110b
int 21h
jc MError
mov bx,handle
mov ah,3eh
int 21h
MError:lea dx, Error
mov ah,09h
int 21h
mov ah,01h
int 21h
mov ax,4c00h
int 21h
code ends
data segment
filename db 'A:\myfile.txt',0; имя файла
handle dw 0; номер (описатель) файла
Error db 'Error! Disk not found',13,10,'$'
data ends
stek segment stack
stek ends
end start
code segment
assume cs:code, ds:data, ss:stek
start:
mov ax,data
mov ds,ax
mov ah,3ch; функция прерывания для создания файла
mov cx,0;без атрибутов
lea dx,filename;загрузка эффективного адреса файла в dx
int 21h
jc MError;переход на метку если диск отсутствует
mov handle,ax; сохранить описатель файла
mov ax,3d02h; открыть описатель файла для чтения и записи
lea dx, filename; загрузка эффективного адреса файла в dx
int 21h
jc MError
mov ax,5707h
mov bx,handle
mov cx,0
mov dx,0001100101111110b
int 21h
jc MError
mov bx,handle
mov ah,3eh
int 21h
MError:lea dx, Error
mov ah,09h
int 21h
mov ah,01h
int 21h
mov ax,4c00h
int 21h
code ends
data segment
filename db 'A:\myfile.txt',0; имя файла
handle dw 0; номер (описатель) файла
Error db 'Error! Disk not found',13,10,'$'
data ends
stek segment stack
stek ends
end start