Docsity
Docsity

Подготовься к экзаменам
Подготовься к экзаменам

Учись благодаря многочисленным ресурсам, которые есть на Docsity


Получи баллы для скачивания
Получи баллы для скачивания

Заработай баллы, помогая другим студентам, или приобретай их по тарифом Премиум


Руководства и советы
Руководства и советы

По дисциплине: “Операционные системы и среды” на тему “Файловая система MS DOS”, Упражнения и задачи из Операционные системы

Отчёт по лабораторной работе №5 По дисциплине: “Операционные системы и среды” “Файловая система MS DOS” Вариант №2.

Вид: Упражнения и задачи

2021/2022

Загружен 07.02.2023

leonglaz
leonglaz 🇷🇺

5

(2)

31 документы

1 / 6

Toggle sidebar

Сопутствующие документы


Частичный предварительный просмотр текста

Скачай По дисциплине: “Операционные системы и среды” на тему “Файловая система MS DOS” и еще Упражнения и задачи в формате PDF Операционные системы только на Docsity! МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «Тульский государственный университет» Институт прикладной математики и компьютерных наук Кафедра вычислительной техники Отчёт по лабораторной работе №5 По дисциплине: “Операционные системы и среды” “Файловая система MS DOS” Вариант №2. Выполнил студент группы 220612: ____________ Глазков Л.А. Проверил доцент каф. ВТ: ____________ Андриянова М.А. Тула 2022 Цель работы. Приобретение навыков разработки программ, использующих в своей работе функциональные клавиши для управления процессом решения. 1.1 Задание 1 Написать и отладить программу, которая выполняет следующие действия: - создает файл, содержащий заданное количество строк (3 строки), - читает содержимое всего файла и выводит его на экран, - выводит на экран заданное количество байт из определенной строки (байты 2-7 и 9-12, 3 строка). 1.2 Задание 2 В соответствии с вариантом написать программу, которая добавляет к существующему файлу несколько строк (1 строку) и выводит его содержимое на экран. Добавление строк и вывод содержимого оформить в виде двух подпрограмм, включенных в текст основной программы (в виде отдельных процедур или макроопределений). 2. Листинг программы cr equ 0Dh ;Возврат каретки lf equ 0Ah ;Перевод строки stdout equ 1 ;Дескриптор стандартного вывода text segment 'code' assume CS:text, DS:data myproc proc mov AX, data mov DS,AX ;Создадим файл mov AH,3Ch ;Функция создания файла mov CX,0 ;Без атрибутов mov DX, offset filename ;Адрес имени файла int 21h mov handle, AX ;Сохраним дескриптор файла ;Запишем строку mov AH,40h ;Функция записи mov BX, handle ;Дескриптор mov CX, stringln ;Длина строки mov DX, offset string ;Адрес строки int 21h mov AH,40h ;Функция записи mov BX, handle ;Дескриптор mov CX, stringln2 ;Длина строки mov DX, offset string2 ;Адрес строки int 21h mov AH,40h ;Функция записи mov BX, handle ;Дескриптор mov CX, stringln3 ;Длина строки mov DX, offset string3 ;Адрес строки int 21h ;Закроем файл (нет необходимости, если файл не надо читать повторно) mov AH,3Eh ;Функция закрытия mov BX,handle ;Дескриптор int 21h ;откроем файл mov AH,3Dh ;Функция открытия файла mov AL,2 ;Доступ для чтения/записи mov DX, offset filename ;Адрес имени файла int 21h mov handle,AX ;Попытаемся прочитать 80 байт mov AH,3Fh ;Функция чтения mov BX,handle ;Дескриптор mov CX,200 ;Столько читать mov DX, offset bufin ;Сюда int 21h mov CX,AX ;Столько реально прочитали ;Выведем прочитанное на экран mov AH,40h ;Функция записи mov BX, stdout ;Дескриптор стандартного вывода mov DX, offset bufin ;Отсюда выводить (СХ байт) int 21h ;Закроем файл (нет необходимости, если файл не надо читать повторно) mov AH,3Eh ;Функция закрытия mov BX,handle ;Дескриптор int 21h ;Завершим программу outprog: mov AX,4C00h ;Функция завершения, код int 21h ;завершения = 0 myproc endp text ends data segment handle dw ? ;Ячейка для дескриптора filename db 'MYFILE.001',0 ;Имя файла в формате ASCIIZ string db 'Stroka 1',cr,lf ;Строка для записи в файл stringln equ $-string ;Ее длина string2 db 'Stroka 2',cr,lf ;Строка для записи в файл stringln2 equ $-string2 ;Ее длина string3 db 'Dlinnoe predlojenie',cr,lf ;Строка для записи в файл stringln3 equ $-string3 ;Ее длина string4 db 'novaya stroka',cr,lf ;Строка для записи в файл stringln4 equ $-string4 ;Ее длина bufin db 80 dup (' ') ;Буфер ввода data ends stack segment para stack 'STACK' db 128 dup (?) stack ends end myproc 3. Работа программы. Вывод на консоль и содержимое файла. Рисунок 1 Вывод содержимого файла на консоль Рисунок 2 Содержимое файла
Docsity logo