ASK_LAB3_USB.pdf

(1082 KB) Pobierz
Program stamo-startujacy z dysku USB/dysk.
Architektura Systemów Komputerowych, Wydział Informatyki, ZUT
Laboratorium: Program samo-startujący z dysku USB/dysk.
Krok 1. Uruchamiamy edytor tekstu i wpisujemy poniższy kod (rys.1). Następnie
zapisujemy plik w katalogu projektu w „D:\users\stud\inazwisko\bootDisk” pod
nazwą: bootdisk.asm.
Rys.1 . Kod aplikacji.
komentarz:
Program wypisuje tekst podany pod adresem „ msg ” na ekranie a następnie wstrzymuje swoją pracę
na niekończącej się pętli. Warto zwrócić uwagę na adresowanie pośrednie użyte w instrukcji pod
adresem „ print ”. Przerwanie 10h dotyczy obsługi ekranu. Funkcja 0Eh tego przerwania (w AH)
wypisuje znak na ekranie o kodzie podanym w AL.
Krok 2. Z katalogu „C:\Programy\Program\ASM\NASM” kopiujemy plik
nasm.exe do katalogu projektu D:\users\stud\inazwisko\bootDisk. Uruchamiamy linię
komend (rys.2).
Rys.2 . Uruchamiamy okno komend.
1
583764406.009.png
Architektura Systemów Komputerowych, Wydział Informatyki, ZUT
Krok 3. Z linii komend uruchamiamy asembler NASM z opcją kompilacji do kodu
binarnego (-BIN). Powstaje wynikowy plik binarny: bootdisk.bin.
Rys.3 . Asemblacja kodu.
Krok 4. Uruchamiamy program HxD (rys.4 a, b). Otwieramy plik bootdisk.bin
(Menu Extra->Open Disk image…). Aplikacja HxD w katalogu
„C:\Programy\Program\ASM\HxD\HxD.exe”.
Rys.4.a . Wgranie kodu do edytora HxD.
2
583764406.010.png 583764406.011.png 583764406.012.png 583764406.001.png 583764406.002.png
Architektura Systemów Komputerowych, Wydział Informatyki, ZUT
Rys.4.b . Spodziewany wygląd okienka po wykonaniu kroku 4.
Krok 5. Wkładamy dyskietkę do napędu A. Otwieramy obraz dyskietki (Menu Extras-
>Open Disk…). Pamiętamy o odznaczeniu kwadratu „Open as Readonly” (rys.5).
Rys.5 . Otwieramy obraz dyskietki A: w programie HxD.
3
583764406.003.png 583764406.004.png 583764406.005.png
Architektura Systemów Komputerowych, Wydział Informatyki, ZUT
Krok 6. Kopiujemy zawartość pliku bootdisk.bin (CTRL+C) i wklejamy do
zerowego sektora dyskietki A (rys.6 a,b). Zawartość sektora powinna zostać
zmieniona a tekst powinien mieć kolor czerwony.
(a)
(b)
Rys.6 . Kopiujemy zawartość pliku bootdisk.bin do sektoru 0 dyskietki.
4
583764406.006.png
Architektura Systemów Komputerowych, Wydział Informatyki, ZUT
Krok 7. Zapisujemy nową zawartość sektora 0 dyskietki A: (rys.7).
Rys.7 . Zapisujemy nową zawartość sektora 0 dyskietki A.
Krok 8. Resetujemy komputer. Należy się upewnić, że w BIOS ustawiona jest
opcja bootowania z dyskietki A.
Krok 9. Praca samodzielna: Linia komend (przydatna tabela w dodatkach).
a) Po uruchomieniu programu z dyskietki wypisać znak zachęty (>) i po naciśnięciu
dowolnego przycisku na klawiaturze ma się pokazać odpowiadający mu znak na ekranie.
b) Rozbudować kod o funkcjonalność, że po naciśnięciu przycisku ENTER na nowo
wypisywany jest znak zachęty i przechodzimy do następnej linii.
c) Gdy wpisany tekst zaczyna się od litery t program powinien wypisać imiona twórców w
następnej linijce a w kolejnej znak zachęty z możliwością wpisania kolejnej komendy.
d) Rozbudować punkt c, tak aby rozpoznawać komendę nie po pierwszej literce t ale po
całym łańcuchu „tworca”.
e) W podobny sposób jak w punkcie d dodać komendę „czysc” do czyszczenia ekranu i
pokazania na górze znaku zachęty.
5
583764406.007.png 583764406.008.png
Zgłoś jeśli naruszono regulamin