Системное программное обеспечение. Рощин А.В. - 83 стр.

UptoLike

Составители: 

83
dend: ; Метка для определения конца пересылаемой процедуры
Code ENDS ; Конец сегмента (кодового)
END Start ; Указание точки входа в программу
3.2 Работа с файлами
Задача 3.2.1. Используя функции прерывания 21h DOS, написать
программу, которая
создает в текущем каталоге новый файл с именем, соот
ветствующим фамилии студента
записывает в созданный файл текст длиной не менее 40 символов
изменяет дату создания файла на 11 ноября 1991 года (при этом
время создания должно остаться неизменным)
При возникновении ошибки во время выполнения какой-либо
функции должно выводиться сообщение о возникновении ошибки, и
программа должна завершаться. Классифицировать возникшую ошибку не
надо.
Assume CS: Code, DS: Code
Code SEGMENT
org 100h
Start proc near
mov ax,cs
mov ds,ax ; DS = CS
; Создание нового файла
mov ah,5bh ; Функция создания нового файла
mov cx,2 ; Атрибут "скрытый"
lea dx,file ; Адрес спецификации файла
int 21h ; Функция DOS
jnc m1 ; Переход, если ошибки нет
; Вывод сообщения при возникновении ошибки
err1: mov ah,9 ; Функция вывода строки на экран
lea dx,meserr ; Адрес сообщения об ошибке
int 21h
int 20h
m1: mov handle,ax ; Сохранение дескриптора файла
; Запись текста в файл
mov ah,40h ; Функция записи в файл
mov bx,handle ; Дескриптор файла
mov cx,40 ; Длина записываемого текста
lea dx,text ; Адрес записываемого текста
int 21h
jc err1 ; Переход на вывод сообщения при ошибке
; Получение даты и времени создания файла
                                 83



dend: ; Метка для определения конца пересылаемой процедуры
Code ENDS ; Конец сегмента (кодового)
      END Start ; Указание точки входа в программу


     3.2 Работа с файлами

      Задача 3.2.1. Используя функции прерывания 21h DOS, написать
программу, которая
      • создает в текущем каталоге новый файл с именем, соот
        ветствующим фамилии студента
      • записывает в созданный файл текст длиной не менее 40 символов
      • изменяет дату создания файла на 11 ноября 1991 года (при этом
        время создания должно остаться неизменным)
      При возникновении ошибки во время выполнения какой-либо
функции должно выводиться сообщение о возникновении ошибки, и
программа должна завершаться. Классифицировать возникшую ошибку не
надо.

Assume CS: Code, DS: Code
Code SEGMENT
      org 100h
Start proc near
      mov ax,cs
      mov ds,ax        ; DS = CS
; Создание нового файла
      mov ah,5bh       ; Функция создания нового файла
      mov cx,2         ; Атрибут "скрытый"
      lea dx,file      ; Адрес спецификации файла
      int   21h        ; Функция DOS
      jnc m1           ; Переход, если ошибки нет
; Вывод сообщения при возникновении ошибки
err1: mov ah,9         ; Функция вывода строки на экран
      lea dx,meserr ; Адрес сообщения об ошибке
      int   21h
      int   20h
m1: mov handle,ax ; Сохранение дескриптора файла
; Запись текста в файл
      mov ah,40h       ; Функция записи в файл
      mov bx,handle ; Дескриптор файла
      mov cx,40        ; Длина записываемого текста
      lea dx,text      ; Адрес записываемого текста
      int   21h
      jc    err1       ; Переход на вывод сообщения при ошибке
; Получение даты и времени создания файла