Maciej Paczkowski 9696327 stycznia 2006r doc


Maciej Paczkowski 96963 27 stycznia 2006r.

Marcin Ruszczyk 88889

AiR

PROJEKT

OPROGRAMOWANIE MIKROKOMPUTERÓW

Ćwiczenie nr 9

Zaprojektować menedżera plików i katalogów. Programo powinien pozwalać użytkownikowi na proste operacje jak ukrywanie/odkrywanie plików i katalogów oraz szyfrowanie i odszyfrowywanie plików.

W skład projektu wchodzi 8 plików:

MENADZER.C - główny program

SZUK1.ASM - funkcja szukaj_plik()

SZUK2.ASM - funkcja szukaj_nastepny_plik()

SZYFRUJ.ASM - funkcja szyfruj_plik()

UKRYJ.ASM - funkcja ukryj()

UKRYTY.ASM - funkcja czy_ukryty()

ZM_ROBO.ASM - funkcja zmien_roboczy()

ROBO.ASM - funkcja podaj_roboczy()

Opis poszczególnych funkcji:

Funkcja napisana w asemblerze służy do znalezienia nazwy pierwszego pliku pasującego do zdanych kryteriów. W nazwa[] podajemy zmienną gdzie ma się przez referencję wpisać nazwa pliku. Natomiast int atrybut oznacza atrybut z jakimi ma szukać danych plików.

Użyte są następujące funkcje DOSowe przerwania INT 21h:

1ah - deklarowanie nowego adresu bloku DTA

4eh - znalezienie pierwszego lepszego pliku, gdzie nazwa znajduje się na 30-tej pozycji bloku DTA

Funkcja działa jak poprzednia i służy do znalezienia następnego pasującego pliku na podstawie poprzedniego szukania zapisanego w bloku DTA.

Użyte są następujące funkcje DOSowe przerwania INT 21h:

1ah - deklarowanie nowego adresu bloku DTA

4eh - znalezienie pierwszego lepszego pliku, gdzie nazwa znajduje się na 30-tej pozycji bloku DTA

Funkcja szyfruje/odszyfrowuje dany plik (pierwsze 256bajtów) funkcją XOR wg sześciobajtowego podanego przez użytkownika klucza w char klucz[]. W zmiennej char nazwa[] wpisujemy nazwę pliku do zaszyfrowani/odszyfrowania.

Użyte są następujące funkcje DOSowe przerwania INT 21h:

3D02h - otwarcie pliku

4202h - sprawdzenie rozmiaru pliku

4201h - sprawdzenie aktualnej pozycji

4200h - ustaw poczatek wskaźnika pliku na zero

3Fh - odczyt z pliku

40h - zapis do pliku

3Eh - zamkniecie pliku

Funkcja sprawdza i zwraca atrybut jako wartość funkcji. Wynikiem może być 0,2,16 oraz 18.

0 - oznacza normalny plik

2 - oznacza ukryty plik

16 - oznacza katalog

18 - oznacza ukryty katalog

W zmiennej char nazwa[] podajemy nazwę pliku do sprawdzenia.

Użyta jest jedynie jedna funkcja przerwania IT 21h:

4300h - odczytanie atrybutów w CX

Funkcja odczytuje atrybut skrytości a następnie zmienia go na przeciwny. W funkcji nazwa[] dajemy nazwę pliku do ukrycia.

Użyte są następujące funkcje DOSowe przerwania INT 21h:

4300h - odczytanie atrybutów do CX

4301h - zmiana atrybutów

Funkcja zmienia katalog roboczy na inny podany w nazwie char nazwa[].

Użyta funkcja DOSowa:

3B00h - zmiana katalogu roboczego

Funkcja zwraca nazwę katalogu roboczego do łańcucha sciezka[].

Użyta funkcja DOSu:

4700h - podaj katalog roboczy

Dodatkowo w programie znajdują się trzy funkcje napisane w C:

Funkcja podaje nazwę pliku o danym numerze w katalogu, jeśli nie ma takiego numeru pliku to zwraca nazwę ostatniego pliku jaki wystąpił.

Funkcja zwraca ilość plików w katalogu (korzysta z poprzedniej funkcji)

Funkcja rysuje ramkę.

Obsługa programu:

Do obsługi programu służą przyciski:

- przesuwa o jedną pozycję do góry

- przesuwa o jedną pozycję w dół

F1 - ukrywa/odkrywa dany plik/katalog

F2 - szyfruje/odszyfrowuje dany plik wg podanego klucza. Po podaniu klucza program pyta się o zatwierdzenie (N/T)

ESC - wyjście z programi

ENTER - po naciśnięciu można „wejść” do danego katalogu



Wyszukiwarka

Podobne podstrony:
8 Rozporzadzenie Ministra Zdrowia z dnia 19 stycznia 2006r
Maciej Ostrowski ksztaltowanie i trening zdrowotny doc
,laboratorium podstaw fizyki,wyznaczenie składowej poziomej magnetyzmu ziemskiego za pomocą busoli s
Automatyka 1 maciejewski doc
motywy powstania styczniowego doc
Maciej Szewczykiewicz Jednostka jako istota społeczna doc

więcej podobnych podstron