Системное программное обеспечение. Рощин А.В. - 106 стр.

UptoLike

Составители: 

106
sprit0 proc near
; Стирание четных строк
mov di,addr0
mov ax,0b800h
mov es,ax
mov bp,8 ; Счетчик числа строк/2
xor al,al
sp3: mov cx,4 ; Счетчик числа слов
rep stosb
add di,76
dec bp
jnz sp3
; Стирание нечетных строк
mov di,addr0
mov ax,0ba00h
mov es,ax
mov bp,8 ; Счетчик числа строк/2
sp4: mov cx,4 ; Счетчик числа слов
rep stosb
add di,76
dec bp
jnz sp4
ret
sprit0 endp
code ends
END Start ; Указание точки входа в программу
3.6 Работа с жестким диском
Написать программу, которая при первом запуске (инициализации)
определяет начальный кластер своего расположения на диске, записывает в
файл на диск этот номер и выполняет свою основную функциювыводит
сообщение на экран, что все в порядке. При повторном и последующих
запусках программа должна проверять, соответствует ли записанный в
ней
при инициализации номер начального кластера действительному номеру.
При совпадении программа должны выполнить свою основную функцию
вывести сообщение о том, что все в порядке. При несовпадении
записанного в программе и действительного номеров начального кластера
программа должна вывести на экран сообщение о нежелании работать.
Assume CS: Code;, DS: Code
Code SEGMENT
bpb struc ; Структура блока параметров BIOS
sect_siz dw ? ; Размер сектора в байтах
clus_siz db ? ; Секторов в кластере
res_sect dw ? ; Зарезервированных секторов
fat_num db ? ; Кол-во FAT на диске
root_siz dw ? ; Размер каталога (кол-во файлов)
num_sect dw ? ; Общее количество секторов
                                     106



sprit0 proc near
; Стирание четных строк
       mov di,addr0
       mov ax,0b800h
       mov es,ax
       mov bp,8         ; Счетчик числа строк/2
       xor  al,al
sp3: mov cx,4           ; Счетчик числа слов
       rep  stosb
       add di,76
       dec bp
       jnz  sp3
; Стирание нечетных строк
       mov di,addr0
       mov ax,0ba00h
       mov es,ax
       mov bp,8         ; Счетчик числа строк/2
sp4: mov cx,4           ; Счетчик числа слов
       rep  stosb
       add di,76
       dec bp
       jnz  sp4
       ret
sprit0 endp
code ends
       END Start        ; Указание точки входа в программу

      3.6 Работа с жестким диском
     Написать программу, которая при первом запуске (инициализации)
определяет начальный кластер своего расположения на диске, записывает в
файл на диск этот номер и выполняет свою основную функцию – выводит
сообщение на экран, что все в порядке. При повторном и последующих
запусках программа должна проверять, соответствует ли записанный в ней
при инициализации номер начального кластера действительному номеру.
При совпадении программа должны выполнить свою основную функцию –
вывести сообщение о том, что все в порядке. При несовпадении
записанного в программе и действительного номеров начального кластера
программа должна вывести на экран сообщение о нежелании работать.
Assume CS: Code;, DS: Code
Code SEGMENT
bpb struc ; Структура блока параметров BIOS
sect_siz  dw    ?      ; Размер сектора в байтах
clus_siz  db    ?      ; Секторов в кластере
res_sect  dw    ?      ; Зарезервированных секторов
fat_num   db    ?      ; Кол-во FAT на диске
root_siz  dw    ?      ; Размер каталога (кол-во файлов)
num_sect  dw    ?      ; Общее количество секторов