НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
“ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”
Виконав:
ст групи КІТ-14в
Богачов О. С.
Тема: Запис i читання секторiв диска.
Мета роботи: Придбання навичок роботи з дисками на низькому рiвнi.
Індивідуальне завдання: Виконати змiну iнформацiї у мiсцi мiтки boot-сектора за допомогою програми написаної на низькорiвневої мовi програмування та перевiрку iнформацiї, що записана. У якостi iнформацiї, що записується, використати особливi iнiцiали кириличними лiтерами.
Опис використовуваних переривань i функцiй BIOS та алгоритм дії програми:
Визначили місце перебування мітки на диску. Використовуючи 2 функцiю 13Н переривання виконали читання 1 сектора з нульової дорiжки 0 сторони пристрою А у видiлений буфер. Замiнили вихiдну iнформацiю. Записали отриманий масив за допомогою 3 функцiї 13Н переривання на теж саме мiсце.
Текст програми:
Текст головного модуля:
;---------------------------------------------------
; Защита информации. Лабораторная работа #1.
; Разработка: Мороз А.А. КИТ-12б
; Программа изменяет метку диска.
; filename: lab01-1.asm
;---------------------------------------------------
; Процедуры находятся в другом файле
extrn proc_1:far
extrn proc_2:far
extrn vivod:far
; Объявляем пременные как внешние
public buf,lab
sts segment stack
db 256 dup (0)
sts ends
data segment
buf db 512 dup (0) ; Буфер для чтения сектора
lab db ' Moroz_A_A ','$'
str1 db 'Old Label: $'
space db 10,13,'$'
str2 db 'New Label: $'
data ends
code segment
assume cs:code,ds:data,ss:sts
begin:
mov ax,data
mov ds,ax
mov es,ax
mov ax,sts
mov ss,ax
call proc_1 ; Процедура чтения сектора
; Вывести сообщение
mov ah,9h
lea dx,str1
int 21h
call vivod ; Процедура вывода метки
mov ah,9h
lea dx,space
int 21h
; Пишем новую метку в буфер
mov cx,11
lea di,buf
add di,2bh
lea si,lab
rep movsb
call proc_2 ; Процедура записи сектора
; Частичная очистка буфера
mov di,2bh
mov cx,11
m3:
mov buf[di],0
inc di
loop m3
call proc_1 ; Процедура чтения сектора
; Вывести сообщение
mov ah,9h
lea dx,str2
int 21h
call vivod ; Процедура вывода метки
; Ждет нажатия клавиши
mov ah,01
int 21h
; Возврат управления в DOS
mov ah,4ch
int 21h
code ends
end begin
Текст основних процедур програм:
;---------------------------------------------------
; Защита информации. Лабораторная работа #1.
; Разработка: Мороз А.А. КИТ-12б
; Программа изменяет метку диска.
; filename: lab01-2.asm
;---------------------------------------------------
; Переменные объявлены в главном модуле
extrn buf:byte, lab:byte
; Сделать процедуры доступными для главного модуля
public proc_1
public proc_2
public vivod
code segment
assume cs:code
; Процедура чтения сектора
proc_1 proc far
mov ah,02h
mov al,01h
mov dx,0
mov cx,1
lea bx,buf
int 13h
ret
proc_1 endp
; Процедура записи сектора
proc_2 proc far
mov ah,03h
mov al,01h
mov dx,0
mov cx,1
lea bx,buf
int 13h
ret
proc_2 endp
; Процедура вывода метки на экран
vivod proc far
mov cx,11
mov di,2bh
m2:
mov ah,02
mov dl,buf[di]
int 21h
inc di
loop m2
ret
vivod endp
code ends
end
Висновок: Я придбав основні навички роботи з дисками на низькому рiвнi.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.