20947

Запис і читання інформації в інженерні циліндри диска

Лабораторная работа

Информатика, кибернетика и программирование

MODEL SMALL STS segment para stack 'stack' dw 1000 dup 0 TOS label word STS ends DATA segment track80 db 801011 ;дорожкаголовкасектордлина сектора db 801021 db 801031 db 801041 db 801051 db 801061 db 801071 db 801081 db 801091 db 801101 db 801111 db 801121 db 801131 db 801141 ;таблица параметров контроллера дисководов DCP db 0DFh ;задержка переключения головок0Dh=3мс ;задержка при загрузке головокFh db 002h ;время загрузки=4мс db 025h ;задержка перед выключением двигателя db 001h ;размер...

Украинкский

2013-08-01

53.38 KB

2 чел.

Міністерство освіти, науки, молоді та спорту України

Національний технічний Університет “ХПІ”

“ХАРКІВСКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”

Кафедра “ Обчислювальна техніка та програмування ”

Лабораторна робота №2

по курсу “Захист інформації у комп’ютерних системах та мережах”

 

                                                                                                Виконав:

                                                                                                      ст. гр КІТ 39

                                                                                                      Родін С.І

                                                                                                 Перевірив:

                                                                                                 Межерицький С.Г

Харків 2012

“Запис і читання інформації в інженерні циліндри диска”

за курсом “Захист інформації у комп’ютерних системах та мережах”

Ціль роботи : придбання навичок роботи з нестандартними можливостями дисків на низькому рівні.

Постановка задачі: необхідно розробити і налагодити програму що дозволяє виконати форматування інженерних секторів дискети, запис, читання і перевірку якості виконання операція з цими секторами.

Індивідуальні завдання

номер по журналі 15

у таблиці форматування рядок з кодом 6 

структура доріжки (1-10):

256,256, 256, 256,512, 512,1024,1024,1024. 

номер доріжки 81 

сторона 0

N = 15 

L = 17

off1 = 15

off2 = 128 – 43 – 15 = 70

.MODEL SMALL

STS segment para stack 'stack'

dw 1000 dup (0)

TOS label word

STS ends

DATA segment

track80 db 80,1,01,1 ;дорожка,головка,сектор,длина сектора

db 80,1,02,1

db 80,1,03,1

db 80,1,04,1

db 80,1,05,1

db 80,1,06,1

db 80,1,07,1

db 80,1,08,1

db 80,1,09,1

db 80,1,10,1

db 80,1,11,1

db 80,1,12,1

db 80,1,13,1

db 80,1,14,1

;таблица параметров контроллера дисководов

DCP db 0DFh ;задержка переключения головок(0Dh=3мс)

;задержка при загрузке головок(Fh)

db 002h ;время загрузки(=4мс)

db 025h ;задержка перед выключением двигателя

db 001h ;размер сектора(=256б)

db 00Dh ;max номер сектора

db 01Bh ;размер межсекторного промежутка(=1б)

db 0FFh ;характеризует использование прерывания данных

db 054h ;длина межсекторного промежутка для команды format

db 0F6h ;байт заполнения

db 00Fh ;время установки головок

db 008h ;время запуска двигателя(=1/8сек)

Firm db 'write 01 sector $',0 ;определение записываемой

db 256-27 dup (?) ;информации

Msg_Err db 'Ошибка записи',13,10,'$'

Msg_Ok db 'Запись выполнена',13,10,'$'

buf db 256 dup (?)

db '$'

msg_buf db 10,13,"Содержимое сектора после записи:",13,10,'$'

msg_read db 'Ошибка чтения',13,10,'$'

DATA ends

CODE segment

assume cs:code, ds:data, es:data, ss:sts

start: mov ax,DATA

mov ds,ax

mov es,ax

mov ax,sts

mov ss,ax

mov sp,offset TOS

;переустановка параметров дисководов

mov ah,35h

mov al,1Eh ;номер прерывания : этот вектор указывает на таблицу

;параметров дискеты

int 21h ;возвращает в ES:BX адрес программы обработки прерывания

push bx

push es

mov ah,25h

mov al,1Eh ;номер прерывания

lea dx,DCP ;в DS:DX вектор прерывания,указывающий на таблицу

int 21h ;установка новых значений

;оформление инженерного цилиндра

push ds

pop es

lea bx,track80 ;адрес буфера, содержащего информацию о формате

mov ah,05h ;функция формата дорожки

;в CX - номер нужного цилиндра

mov cl,00h ;cl - биты 6-7 - старшие 2 бита 10-битного значения

mov ch,50h ;ch - младшие 8 бит

mov dl,00h ;адрес дисковода(A:)

mov dh,01h ;номер головки

int 13h ;формат

jc Error_Exit

;управление названием Firm

mov bx,offset Firm

mov cl,01h ;номер сектора,в который записывать Firm

call Write_Info

jc Error_Exit

mov dx,offset Msg_Ok

mov ah,09h

int 21h

;вывод на экран содержимого записанного сектора

mov ah,9

mov dx,offset msg_buf

int 21h

mov ah,02h

mov al,01h

mov ch,50h

mov cl,01h

mov dl,00h

mov dh,01h

mov bx,offset buf

int 13h

jc err_read

mov ah,09h

mov dx,offset buf

int 21h ;вывод содержимого буфера на экран

jmp label_end

;восстановление старых параметров дисковода

msg_c: mov ah,9h

int 21h

label_end:

pop ds

pop dx

mov ah,25h

mov al,1Eh

int 21h

mov ah,4Ch

int 21h

Error_Exit:

mov dx,offset Msg_Err

jmp Msg_c

err_read:

mov dx,offset msg_read

jmp Msg_c

;запись физического сектора

Write_Info proc

push bx ;указывает на строку

push cx ;номер того сектора, куда записывать

mov ah,03h

mov al,01h ;количество секторов

mov ch,50h ;номер цилиндра

mov dl,00h ;дисковод

mov dh,01h ;головка

int 13h ;запись сектора

jc Escp

pop cx

pop bx

;проверка записи на CRC

mov ah,04h

mov al,01h ;количество секторов

mov ch,50h

mov dl,00h

mov dh,01h

int 13h ;верификация сектора (CRC check)

Escp: ret

Write_Info endp

CODE ends

end start

Висновок: придбав навичоки роботи з нестандартними можливостями дисків на низькому рівні


 

А также другие работы, которые могут Вас заинтересовать

23744. Делимость произведения 48.5 KB
  Делится ли на 37 число 555 555 555 555 − Сформулируйте в общем виде свойство делимости которое вы наблюдаете. Если первое число делится на второе число второе число делится на третье число то первое число делится на третье число. Докажите используя введение обозначений что если первое число делится на второе а второе делится на третье то и первое число делится на третье. Первое число a второе число b третье число c.
23745. Делимость произведения 48.5 KB
  Что означает что число а делится на число b Это означает что существует такое число с которое при умножении на b дает а. И что Можно заменить число 16 произведением 4 и 4 и получится произведение 4 4 а. Если ктолибо из учащихся по аналогии с предыдущим заданием верно найдет ответ последнего примера число 555 то учитель просит его обосновать как выполнены действия. А как можно разделить произведение на число Разделить один множитель а потом полученный результат умножить на второй множитель.
23746. Делимость произведения 85.5 KB
  Делится ли: на 13 на 5 на 2 на10 На 13 делится так как 39 делится на 13; на 5 не делится так как ни один из множителей не делится на 5; на 2 делится так как 356 кратно 2; на 10 не делится так как ни один из множителей не делится на 10. Делится ли 225 на 3 если известно что 225 делится на 15 Да делится т. 15 делится на3. Известно что: а 686 делится на 49.
23747. Делимость суммы и разности 45.5 KB
  Преобразуйте второе выражение используя распределительное свойство умножения. Для ответа на этот вопрос и для обоснования этого ответа учащиеся могут либо вычислить значения данных выражений либо воспользоваться распределительным свойством умножения. Всегда ли сумма и разность чисел кратных двум будут кратны двум А сумма и разность чисел кратных трем четырем пяти будут соответственно кратны трем четырем пяти Затем учитель предлагает учащимся обобщить наблюдаемое свойство: Сформулируйте гипотезу. Скажите с помощью...
23748. Урок Делимость суммы и разности 33.5 KB
  Сумма 50 и 11 не будет кратна 5 так как значением данной суммы является число 61 а оно не кратно 5 Что можно сказать о слагаемых 50 и 11 Слагаемое 50 делится на 5 а слагаемое 11 не делится. Если одно из двух чисел делится на некоторое число а другое не делится на это число то их сумма и разность не делятся на это число. Данные числа обозначим буквами a и b третье число буквой c Что нам известно Что одно из двух чисел делится на третье число а другое не делится Пусть например что a делится на c...
23749. Делимость суммы и разности 49 KB
  Если одно из двух чисел делится на некоторое число а другое не делится на это число то их сумма и разность не делятся на это число Формулировка свойства С 2 вывешивается на доску. 5620 не делится на 8 так как число 56 делится на 8 а число 20 не делится на 8 записываю во второй столбик; 160 16 80 делится на 8 так как каждое из чисел делится на 8 записываю в первый столбик; 3200 72 ´ 9 делится на 8 так как число 3200 делится на 8 и произведение 72 и 9 тоже делится на 8 записываю в первый столбик. Как определила что...
23750. Делители и кратные 59 KB
  Основные цели: формировать способность нового понятия на примере введения понятий делителя числа НОД чисел; формировать способность построения нового алгоритма на примере нахождения делителей чисел общих делителей НОД; тренировать способность нахождения парных делителей общих делителей разными способами НОД разными способами. 1 № 385 аб Чем является числа 60 16 и т. Какая разница между числами являющимися делителями в первой группе примеров и во второй Возникает затруднение при ответе на поставленный вопрос. Как...
23751. Рефлексия 56 KB
  первое число делится на 29. каждое число делится на 5: первое оканчивается 5 а второе оканчивается 0. сумма цифр делится на 3 12 значит и всё число делится на 3. оно чётное и сумма цифр делится на 9 27.