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

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


 

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

70871. Основы диагностики и наблюдения 20.35 KB
  Способов исследований межличностного и межгруппового взаимодействия очень много. Один из наиболее часто используемых вожатыми оздоровительных лагерей является сбор информации посредством анкетирования, проведения различного вида опросников, социометрии.
70872. Первый день смены 15.79 KB
  Представиться ребятам; не только Вы впервые видите ребят, но и они Вас. Поэтому они будут приглядываться к Вам, а Вы – к ним. Только они это будут делать скрытно и непроизвольно. А Вы открыто, заранее подготовившись. Не бойтесь взаимных смотрин, будьте уверенны в себе, веселы...
70875. Законы и традиции лагеря 20.96 KB
  Иерархия лагеря. Временный коллектив: Начальник лагеря зам начальника лагеря; старший вожатый старший воспитатель начальник спорт корпуса; организатор методист звукорежиссер психолог; вожатый воспитатель физрук плаврук кружковод инструктор по туризму.
70876. Введение в профессию вожатого 17 KB
  Впервые термин вожатый применительно к детской общественной организации в СССР появился в 1922. Так тогда называли руководителя пионерского отряда пионервожатый вожатый пионеров. В настоящее время термин вожатый не имеет нормативного определения кроме всероссийских детских...
70879. ОБЩИЕ СВЕДЕНИЯ О ЖИДКОСТИ И ГАЗЕ. ФИЗИКО-МЕХАНИЧЕСКИЕ СВОЙСТВА И ПАРАМЕТРІ ЖИДКОСТИ И ГАЗА 1.24 MB
  В теории аэродинамики различают 3 основных принципа полета ЛА: аэростатический принцип который основывается на законе Архимеда: на тело погруженное в жидкость газ действует выталкивающая сила направленная вверх и равная весу вытесненного им объема жидкости газа рис.