Nie obrażaj więc mojej inteligencji poprzez czynione na pokaz zaniżanie własnej.
POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI
URZĄDZENIA ZEWNĘTRZNE Ćwiczenie laboratoryjne N 2 Ćwiczenie laboratoryjne N 2 TEMAT: PRZERWANIA PROGRAMOWE BIOS-U Celem ćwiczenia są dwa (działające) programy, z których jeden zdefiniuje i zamienia zadany w tabeli wariantów znak na, tamże podany symbol, oraz wyświetla go żądaną ilość razy w konkretnym kolorze. Po zakończeniu pracy tego programu zamieniony znak ma być nadal dostępny z klawiatury, tzn. dla wariantu 6 po naciśnięciu klawisza ‘0’ na ekranie ma pojawić się symbol ☼. Drugi z programów ma przywracać standardową matrycę znaków. Przygotowanie pracy laboratoryjnej wykonywane przed ćwiczeniem. 1. Zapoznaj sie z przerwaniem BIOS'u o numerze 10h. W szczególności z jego funkcjami 09h i 11h. Zapoznaj się również z INT 10h funkcja 00h podfunkcja 03h. 2. Zdefiniuj zadany w tabeli wariantów znak: Definiowanie czcionki polega na stworzeniu tablicy określającej wygląd znaku. Na przykład gdy chcemy zdefiniować znak o takim kształcie: 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 000h 2 000h 3 000h 4 6541h 5 935Dh 6 7349h 7 1076Bh 8 623Eh 9 808h 10 808h 11 808h 12 808h 13 000h 14 000h 15 000h 16 000h Następnie kolejne linie potraktujemy jako liczby w systemie dwójkowym. Liczby z systemu dwójkowego można zamienić na dziesiętne, szesnastkowe lub pozostawić w formie binarnej Kolejność wykonywania ćwiczenia: Wykorzystując wyżej wymienione przerwanie napisz program w asemblerze zamieniający zadany symbol dostępny z klawiatury na symbol o określonym wyglądzie i wyświetli go na monitorze zgodnie z zasadami zadanymi w tablicy wariantów. 1 2 3 4 X X 5 X X X X X 6 X X X 7 X X X X X 8 X X X X X 9 X 10 X 11 X 12 X 13 14 15 16 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 0 1 0 0 0 0 0 1 5 0 1 0 1 1 1 0 1 6 0 1 0 0 1 0 0 1 7 0 1 1 0 1 0 1 1 8 0 0 1 1 1 1 1 0 9 0 0 0 0 1 0 0 0 10 0 0 0 0 1 0 0 0 11 0 0 0 0 1 0 0 0 12 0 0 0 0 1 0 0 0 13 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 15 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 Następnie napisz program w Asemblerze program dezaktywujący działanie programu poprzedniego. Wykorzystując odpowiednie programy wykonaj asemblację (Tasm) i zlinkuj (Tlink) przygotowane programy. Popraw ewentualne błędy, wykorzystując do tego celu debugger. Wykonaj „disamblację” programów *.exe z wykorzystaniem programu IDA . 1 z 2 POLITECHNIKA KOSZALIŃSKA - WYDZIAŁ ELEKTRONIKI URZĄDZENIA ZEWNĘTRZNE Ćwiczenie laboratoryjne N 2 Tablica wariantów. Lp . Zamienian y symbol Nowy symbol Ilość powtórzeń Kolor 1 B (42h) siny 2 ₪ 2 C (43h) fioletowy 4 ♀ 3 D (44h) ♂ brązowy 6 4 E (45h) jasnoszary 8 $ 5 F (46h) szary 2 ^ 6 0 (30h) jasnoniebieski 4 ☼ 7 1 (31h) siny 6 ¢ 8 2 (32h) zielony 8 « 9 3 (33h) jasnoczerwony 2 ® 10 4 (34h) jasnoszary 4 © 11 5 (35h) jasnoniebieski 6 ¥ 12 6 (36h) Ξ jasnozielony 8 13 7 (37h) jasnosiny 2 » 14 8 (38h) ¿ jasnoczerwony 4 15 a (61h) różowy 6 Θ 16 p (70h) żółty 8 Δ 17 s (73h) biały 2 ▼ 18 U (55h) zielony 2 ♦ 19 Q (51h) czerwony 4 ╬ 20 W (57h) niebieski 6 ◙ Przykładowe pytania i polecenia: 1. Omów działanie napisanych programów. 2. Typy przerwań (BIOS, DOS, maskowalne, niemaskowalne, sprzętowe, programowe). Czym przerwanie sprzętowe różni się od programowego? 3. Omów przerwania (razem z funkcjami i podfunkcjami), które wykorzystałeś w programie. 4. Co to jest segment? 5. Do czego służą rejestry CS, SS, DS, ES, FS i GS (w trybie rzeczywistym i chronionym)? 6. Które procesory firmy INTEL mogą korzystać ze wszystkich wymienionych w pytaniu 7 rejestrów, a które nie mają tych rejestrów? Literatura M. Moris Mano: Architektura komputerów , wydanie drugie, WNT, W-wa, 1988. S. Kruk: Programowanie w języku Assembler , PLJ, W-wa, 1992. G. Syck: Turbo Assembler. Biblia użytkownika , LT&P, W-wa, 1994. M. Gieroń: Przerwania systemowe i programy rezydentne , Karat, Tarnów, 1993. S. Kruk: Turbo debugger PLJ, W-wa, 1995. R. Goczyński, M. Tuszyński: Mikroprocesory 80286,80386 i i486 , Help, W-wa, 1991 P. Matzger, A. Jełowicki: Anatomia PC , Helion, Gliwice, 1997 2 z 2 |
Menu
|