2 (206)

2 (206)



.,2.2015    Katedra Informatyki - Mariusz Wiśniewski

Obecnie jądro mikroprocesora 8086 stanowi niewielką część nowoczesnych mikroprocesorów. Jednakże lista instrukcji oraz sposoby ich działania nie zostały znacząco zmienione. W nowszych typach mikroprocesorów zostało wprowadzone 32-bitowe słowo maszynowe, a co za tym idzie zostały wprowadzone rejestry o takim rozmiarze, oraz odpowiednie tryby adresowania i zarządzania pamięcią.

2. Program uruchomieniowy - obsługa

Celem laboratorium Architektury Systemów Komputerowych jest pokazanie funkcjonalności architektury systemu komputerowego poprzez sprawdzanie sposobu działania instrukcji oraz testowanie szybkości działania programów ilustrujących sposób działania mikroprocesora. Do tego celu zostanie wykorzystany OllyDbg 1.05, który umożliwia pracę krokową programów oraz pozwala na wprowadzanie instrukcji procesora. Debbuger należy uruchomić przez wykonanie polecenia C:\ASK\OLLYDBG.EXE. Następnie należy wybrać opcję menu File\Open i wskazać plik ASK.EXE. Następnie należy kliknąć myszą na przycisk Open. Na ekranie pojawi się następujące okno:

OllyDbg - ask.exe

File View Debug Options Window Help

CPU - main thread, module ask

1

00401000

$ B8 08304000

nou EHX,ask.00403000

03401085

. 0008

HDD BYTE RTF: DS: CEHK1, AL

08481807

. 0080

HDD BYTE PTR DS:CERX],HL

0.0481083]

. 0000

HDD BYTE PTR OS:CERKI,HL

/

004010001

. 0080

HDD BYTE PTR DS:CERKI,HL

/

8840 i080]

. 0000

HDD BYTE PTR DS:CERKI,HL

0840180Fj

. 0800

HDD BYTE PTR DS:CERKI,RL

80481811

. 8000

HDD BYTE PTR DS:CERKI,RL

8048l013j

. 0000

RDD BYTE PTR DS:CERKI,RL

08481015

. 0008

ROD BYTE PTR DS:CERKI,RL

00401017

• 0000

HDD BYTE PTR DS:CERKI,RL

8048 iu19

. 0000

RDD BYTE PTR DS:CERKI,RL

0048181B

. 0000

HDD BYTE PTR DS:CERKI,RL

0040i0io

. 8000

HDD BYTE PTR DS:CERKI,RL

0848181F

, 0000

HDD BYTE PTR DS:CERKI,HL

/

08401821

. 0000

HDD BYTE PTR DS:CERKI,HL

90401823!

. 0800

RDD BYTE PTR DS:CERKI,RL

88401025

. 0000

HDD BYTE PTR DS:CEfiX],RL

00481027

. 0000

HDD BYTE PTR DS:CERKI,RL

V

0048102'?

. 0800

HDD BYTE PTR DS:CERKI,HL

um ptc? no rFQvi qi_

Reglsters (FPU)


00403000— ElSk . 00403000 EflX—00000000

00 00 00 00 00 00 00 00 00 00 00 00> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 O0 00 00 00 00 00 00 00 00 08 80 08 80 88 00 80 80 80 06 80 80 00 00 00 08 88 08 80 88

Analysirig ask: 0 heuristical procedures, 1 calis



-La

E5JRaaK3

0812FFCS

0812FFCC

77ES141R]

44440000

00000003

8012FFO0

7FFDF080!

0012FFD4

EFC19CF8

8012FFD8

0012FFC8]

0812FFDC

38540505 i

0812FFE9

FFFFFFFF

0812FFE4

77E9B2E5

0812FFES

77E97CE0

0812FFEC

80080000!

8012FFF8

000800881

8012FFF4

00000008

0812FFF8

88481080

00 i 2FFFC

00000008

i sk . <Modu l eEn t i-y Po i rt t


o known funefions


-.IPI xi


ERK 00000000 EC:: 0012FFB0 EDO 7FFE8304

EBK 7FFDF000 łSF 0012FFC4 EBP 0812FFF0

ESI 00088803 EDI 44440088

EIP 00401008 ask. <Modu leEntr-yPo int->

C 8 ES 8023 32bit 01FFFFFFFF)

F 1 CS 081B 32b it 0(FFFFFFFF)

R 8 SS 0823 32bit 0(FFFFFFFF)

Z 8 OS 0823 32b it 8<FFFFFFFF)

S i FS 0838 32bit 7FFDE880CFFF)

T 8 GS 0006 HULL D S u 8

EFL 00800286 (NO,NB,NE,fl,S,PE,L,LE)

ST0 SPipty -UMORN 31-138 77FS7078 77F34408 ST 1 eripty -??? FFFF 00088000 00143333 3T3 t-Prpty +UNGRM 4854 77FS8R3R 77F57D78


fi fo kerne 132.77E3141R


■ 132'! 77E97CE8


3


co


Paused


Okno Debbugera składa się z czterech podokien. Pierwsze podokno (licząc od strony lewej) zawiera istrukcje programu. Następne podokno zawiera zawartości rejestrów mikroprocesora. Podokna znajdujące się w drugim wierszu zawierają odpowiednio zawartość segmentu pamięci (identyfikowane przez rejestry: CS, DS, ES, FS, GS, SS) oraz zawartość segmentu stosu (identyfikowany przez tylko rejestr SS). Pomiędzy poszczególnymi podoknami można poruszać się przy pomocy klawisza TAB. Zaraz po uruchomieniu w podoknie programu znajdzie się następująca linia: mov eax> liczba, gdzie liczba jest adresem danych programu.

Wprowadzanie instrukcji oraz innych danych

Debbuger umożliwa wprowadzanie kodów programu oraz modyfikację danych, w segmentach pamięci, modyfikację rejestrów oraz stosu. W celu wprowadzania instrukcji lub modyfikacji zawartości innych elementów należy umieścić kursor we właściwym oknie i rozpocząć wprowadzanie danych:

W powyższym przykładzie jest wprowadzana instrukcja mov eax, 100. Naciśnięcie klawisza enter spowoduje wprowadzenie instrukcji do pamięci. Podobnie można wprowadzać dane, wartości rejestrów i znaczników oraz zmieniać zawartość stosu. Należy tu zaznaczyć, że wprowadzane liczby domyślnie są traktowane jako liczby szesnastkowe.

Wykonywanie instrukcji i testowanie szybkości działania poszczególnych instrukcji

Po wprowadzeniu instrukcji możliwe jest wykonanie poszczególnych instrukcji. W tym celu należy naciskać klawisz F8. Wykonana zostanie instrukcja wskazana przez kursor Debbugera. Możliwe jest także wykonanie


Wyszukiwarka

Podobne podstrony:
3 (184) .^2.2015    Katedra Informatyki - Mariusz Wiśniewski większego fragmentu prog
Katedra Informatyki Stosowanej EPI / MATLAB - Wprowadzenie Katedra Informatyki Stosowanej EPI / MATL
Katedra Informatyki Stosowanej EPI / MATLAB - Wprowadzenie Katedra Informatyki Stosowanej EPI / MATL

więcej podobnych podstron