Порядок выполнения работы. 1). Составить и отладить программу, которая считывает программу- загрузчик (boot-сектор) гибкого диска в дисковый буфер
1). Составить и отладить программу, которая считывает программу- загрузчик (boot-сектор) гибкого диска в дисковый буфер. Затем считанная информация из дискового буфера записывается в файл на жесткий диск с именем, заданным переменной fname db 'с: \boot.txt', 0. Для этого используются функции 3сh, 3dh, 40h, 3eh прерывания int 21h операционной системы MSDOS. Текст программы имеет вид: .model small stk segmentstack; формирование стека программы dw 100 dup (?) top label word stk ends data segment; сегментданныхпрограммы fname db 'e: \boot.txt', 0; файловаяпеременная boot db 1024 dup (?); дисковыйбуферboot data ends code segment; сегменткодапрограммы assume cs: code; ds: data; es: data; ss: stk main proc far mov ax, stk; настройка сегментного регистра стека cli mov ss, ax mov sp, offset top sti mov ax, data; настройка сегментного регистра данных mov ds, ax mov es, ax mov ax, 0202h; задание номера дорожки и сектора дискеты mov dx, 0001h; задание номера дисковода mov bx, offset boot; загрузка указателя дискового буфера mov cx, 0001h; количество считываемых секторов int 13h; вызов прерывания BIOS mov ax, 3c00h; функция создания файла на диске mov cx, 32; атрибут файла mov dx, offsetfname; адрес смещения имени файла int 21h; вызов 21 прерывания DOS mov ax, 3d02h; открытие файла int 21h mov bx, ax; сохранение дескриптора файла push dx; записать дескриптор файла в стек mov dx, offsetboot; адрес смещения дискового буфера mov ah, 40h; функция записи на диск mov cx, 1024; количество записываемых байт int 21h; запись информации на диск pop dx; восстановить дескриптор файла из стека mov ah, 3eh; закрытие файла int 21h mov ax, 4c00h; завершение работы программы int 21h main endp code ends end 2). При помощи программы diskedit.exe сравнить содержимое загрузочного сектора дискеты и содержимое файла boot.txt, убедиться, что их содержимое идентично. Задания Задание 1 Разработать программу, которая считывает загрузчик дискеты и записывает коды программы-загрузчика в файл на жестком диске с именем boot.txt. (Задание выполняется всеми студентами группы). Задание 2 Считать информацию с произвольного сектора дискеты и записать ее в файл на эту же дискету. Задание 3 Считать информацию о системном времени и записать ее по формату «часы: минуты: секунды:» в дисковый файл time.txt. Задание 4 Ввести текстовую информацию с клавиатуры и записать эту строку в дисковый файл stroka.txt. Задание 5 Вычислить выражение x=a*b+c/d и записать результат в файл rez.txt.
|