01Wpr5 Asmid 3327 ppt

background image

Język asemblera

Język asemblera

Copyright, 2001 © Jerzy R. Nawrocki

Jerzy.Nawrocki@put.poznan.pl

http://www.cs.put.poznan.pl/~nawrocki/ic
s/

Wprowadzenie do
informatyki

Wykład 5

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Koncepcja von Neumanna

Koncepcja von Neumanna

Specjalizowane kalkulatory (obliczanie
toru pocisku) a uniwersalne komputery

Jak zrealizować uniwersalność:

program jako łącznice kablowe
program jako dane przechowywane w
pamięci (koncepcja von Neumanna)

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Koncepcja von Neumanna

Koncepcja von Neumanna

Dwie fazy:

1.

Ściąganie

rozkazu i jego

dekodowanie

2.

Wykonanie

rozkazu

Specjalny rejestr (

licznik rozkazów

)

pokazuje następny rozkaz do
wykonania.

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Kodowanie rozkazów

Kodowanie rozkazów

Kod Rozkaz Przykład

1

MovRegCon(

R

, C)

1

1

0

R1

0

2

IfRegLeCon(

R

, C, I)

2

2

1 20

R2

1 ..

3

MulRegReg(

Rd

, Rs)

3

1

2

R1

R1

*R2

4

SubRegCon(

Rd

, C)

4

2

1

R2

R2

-

1

5

Jump(I)

5

14

6

Stop

6

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Obliczanie n!

Obliczanie n!

Start

Start

Stop

Stop

R1

R1

1

1

R1

R1

R1 *

R1 *

R2

R2

R2

R2

R2 - 1

R2 - 1

R2 >

R2 >

1

1

Tak

Nie

Warunek

pocz.:

R2 = n

Warunek

końc.:

R1 = n!

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Kodowanie rozkazów

Kodowanie rozkazów

1

1

1

1

1

1

MovRegCon

R1

1

10

2

2

2

2

1

1

13

25

25

IfRegLeCon

3

3

17

MulRegReg

1

1

2

2

4

4

2

2

1

1

20

SubRegCon

5

5

13

13

6

6

23

Jump

25

Stop

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Kodowanie rozkazów

Kodowanie rozkazów

1

1

1

1

1

1

MovRegCon

R1

1

10

2

2

2

2

1

1

13

25

25

IfRegLeCon

3

3

17

MulRegReg

1

1

2

2

4

4

2

2

1

1

20

SubRegCon

5

5

13

13

6

6

23

Jump

25

Stop

R2

R2

R1

R1

3

3

10

10

IC

IC

We
Wyj

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Kodowanie rozkazów

Kodowanie rozkazów

1

1

1

MovRegCon

R1

1

10

2

2

1

1

13

25

25

IfRegLeCon

3

3

17

MulRegReg

1

1

2

2

4

4

2

2

1

1

20

SubRegCon

5

5

13

13

6

6

23

Jump

25

Stop

R2

R2

R1

R1

3

3

13

13

IC

IC

1

1

We
Wyj

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Kodowanie rozkazów

Kodowanie rozkazów

1

1

1

1

1

1

MovRegCon

R1

1

10

2

2

2

2

1

1

13

25

25

IfRegLeCon

3

3

17

MulRegReg

1

1

2

2

4

4

2

2

1

1

20

SubRegCon

5

5

13

13

6

6

23

Jump

25

Stop

R2

R2

R1

R1

3

3

17

17

IC

IC

1

1

We
Wyj

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Kodowanie rozkazów

Kodowanie rozkazów

1

1

1

1

1

1

MovRegCon

R1

1

10

2

2

2

2

1

1

13

25

25

IfRegLeCon

3

3

17

MulRegReg

1

1

2

2

4

4

2

2

1

1

20

SubRegCon

5

5

13

13

6

6

23

Jump

25

Stop

R2

R2

R1

R1

3

3

20

20

IC

IC

1

1

3

3

We
Wyj

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Kodowanie rozkazów

Kodowanie rozkazów

1

1

1

1

1

1

MovRegCon

R1

1

10

2

2

2

2

1

1

13

25

25

IfRegLeCon

3

3

17

MulRegReg

1

1

2

2

4

4

2

2

1

1

20

SubRegCon

5

5

13

13

6

6

23

Jump

25

Stop

R2

R2

R1

R1

3

3

23

23

IC

IC

1

1

3

3

2

2

We
Wyj

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Kodowanie rozkazów

Kodowanie rozkazów

1

1

1

1

1

1

MovRegCon

R1

1

10

2

2

2

2

1

1

13

25

25

IfRegLeCon

3

3

17

MulRegReg

1

1

2

2

4

4

2

2

1

1

20

SubRegCon

5

5

13

13

6

6

23

Jump

25

Stop

R2

R2

R1

R1

3

3

13

13

IC

IC

1

1

3

3

2

2

We
Wyj

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Kodowanie rozkazów

Kodowanie rozkazów

1

1

1

1

1

1

MovRegCon

R1

1

10

2

2

2

2

1

1

13

25

25

IfRegLeCon

3

3

17

MulRegReg

1

1

2

2

4

4

2

2

1

1

20

SubRegCon

5

5

13

13

6

6

23

Jump

25

Stop

R2

R2

R1

R1

3

3

17

17

IC

IC

1

1

3

3

2

2

We
Wyj

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Kodowanie rozkazów

Kodowanie rozkazów

1

1

1

1

1

1

MovRegCon

R1

1

10

2

2

2

2

1

1

13

25

25

IfRegLeCon

3

3

17

MulRegReg

1

1

2

2

4

4

2

2

1

1

20

SubRegCon

5

5

13

13

6

6

23

Jump

25

Stop

R2

R2

R1

R1

3

3

20

20

IC

IC

1

1

3

3

2

2

6

6

We
Wyj

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Kodowanie rozkazów

Kodowanie rozkazów

1

1

1

1

1

1

MovRegCon

R1

1

10

2

2

2

2

1

1

13

25

25

IfRegLeCon

3

3

17

MulRegReg

1

1

2

2

4

4

2

2

1

1

20

SubRegCon

5

5

13

13

6

6

23

Jump

25

Stop

R2

R2

R1

R1

3

3

23

23

IC

IC

1

1

3

3

2

2

6

6

1

1

We
Wyj

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Kodowanie rozkazów

Kodowanie rozkazów

1

1

1

1

1

1

MovRegCon

R1

1

10

2

2

2

2

1

1

13

25

25

IfRegLeCon

3

3

17

MulRegReg

1

1

2

2

4

4

2

2

1

1

20

SubRegCon

5

5

13

13

6

6

23

Jump

25

Stop

R2

R2

R1

R1

3

3

13

13

IC

IC

1

1

3

3

2

2

6

6

1

1

We
Wyj

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Kodowanie rozkazów

Kodowanie rozkazów

1

1

1

1

1

1

MovRegCon

R1

1

10

2

2

2

2

1

1

13

25

25

IfRegLeCon

3

3

17

MulRegReg

1

1

2

2

4

4

2

2

1

1

20

SubRegCon

5

5

13

13

6

6

23

Jump

25

Stop

R2

R2

R1

R1

3

3

13

13

IC

IC

1

1

3

3

2

2

6

6

1

1

We
Wyj

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Plan wykładu

Plan wykładu

Prosty program

DEBUG
Arytmetyka

heksadecymalna

Liczby ujemne
Najważniejsze rozkazy

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Prosty program

Prosty program

Rejestry

var

ax, bx, cx, dx, si, di:
integer;

var

ax, bx, cx, dx, si, di:
integer;

AX

3

BX

0

CX

7

DX

1

SI

8

DI

2

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Prosty program

Prosty program

Instrukcja

p := p + z

p := p + z

ADD

p

,

z

ax := ax + bx +

2

add ax, bx

add ax, 2

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Prosty program

Prosty program

Struktura programu

Program: zbiór (oddzielnie kompilowanych)

modułów

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Prosty program

Prosty program

Struktura programu

Program: zbiór (oddzielnie kompilowanych)

modułów

Erro
r

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Prosty program

Prosty program

Struktura programu

Program: zbiór (oddzielnie kompilowanych)

modułów

m1.as
m

m

a

s

m

m1.obj

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Prosty program

Prosty program

Struktura programu

Program: zbiór (oddzielnie kompilowanych)

modułów

m

a

s

m

m1.as
m

m

a

s

m

m1.obj

m2.as
m

m2.obj

L

i

n

k

p.exe

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Prosty program

Prosty program

Struktura programu

Program: zbiór (oddzielnie kompilowanych)

modułów
Moduł: zbiór

segmentów

Pamięć

0

6

5

5

3

5

Intel

8080

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Prosty program

Prosty program

Struktura programu

Program: zbiór (oddzielnie kompilowanych)

modułów
Moduł: zbiór

segmentów

Kod

Dane

Stos

Dodatk

Intel

8086

0

1

0

4

8

5

7

5

0

6

5

5

3

5

c
s

d
s

s
s

e
s

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Prosty program

Prosty program

Struktura programu

nazwa_seg

SEGMENT

ASSUME CS:

nazwa_seg

etyk_pocz

:

instrukcje

nazwa_seg

ENDS

END

etyk_pocz

Program: zbiór (oddzielnie kompilowanych)

modułów
Moduł: zbiór segmentów

Koniec

modułu

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Prosty program

Prosty program

Przykład programu

prog

SEGMENT

ASSUME CS:

prog

start

:

add ax, bx

add ax, cx
int 3

prog

ENDS

END

start

ax := ax + bx + cx

Koniec

pracy

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Prosty program

Prosty program

Kompilacja i uruchomienie

Zapisz program w pliku

plik

.asm

masm

plik

link

plik

debug

plik

.exe

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Plan wykładu

Plan wykładu

Prosty program

DEBUG

Arytmetyka

heksadecymalna

Liczby ujemne
Najważniejsze rozkazy

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

DEBUG

DEBUG

Najważniejsze komendy

R

rejestr

(Register)

G

(Go)

Q

(Quit)

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

DEBUG - przykład sesji

DEBUG - przykład sesji

Wynik

-

rax

AX

0000

1

-

rbx

BX

0000

2

-

rcx

CX

0005

3

:

:

:

-

g

AX=0006 BX=0002 CX=0003 DX=0000 SP=0000

DS=1A8D ES=1A8D SS=1A9D CS=1A9D IP=0004

1A9D:0004 CC INT 3

-

q

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

DEBUG - inna sesja

DEBUG - inna sesja

-

rax

AX

0000

6

-

rbx

BX

0000

6

-

rcx

CX

0005

6

:

:

:

-

g

AX=0012 BX=0002 CX=0003 DX=0000 SP=0000

DS=1A8D ES=1A8D SS=1A9D CS=1A9D IP=0004

1A9D:0004 CC INT 3

-

q

12 czy 18?

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Plan wykładu

Plan wykładu

Prosty program
DEBUG

Arytmetyka

heksadecymalna

Liczby ujemne
Najważniejsze rozkazy

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Cyfry

0

do

9

A 10

B 11

C 12

D 13

E 14

F 15

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

System szesnastkowy

123

16

= 1*

16

2

+ 2*

16

1

+ 3*

16

0

=

= 256 + 32 + 3
= 291

10

12

16

= 1*16

1

+ 2*16

0

= 16 + 2

= 18

10

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

-

rax

AX

0000

6

-

rbx

BX

0000

6

-

rcx

CX

0005

6

:

:

:

-

g

AX=0012 BX=0002 CX=0003 DX=0000 SP=0000

DS=1A8D ES=1A8D SS=1A9D CS=1A9D IP=0004

1A9D:0004 CC INT 3

-

q

OK.

12

16

= 18

10

Debug - problem

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Dodawanie

28F

+

37F

28F

+

37F

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Dodawanie

28

F

+ 37

F

28

F

+ 37

F

F

16

+

F

16

=

15

10

+ 15

10

= 30

10

30

10

:

16

10

=

1 reszta 14

10

=

1 reszta E

16

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Dodawanie

1

28

F

+ 37

F

E

1

28

F

+ 37

F

E

F

16

+

F

16

=

15

10

+ 15

10

= 30

10

30

10

:

16

10

=

1 reszta 14

10

=

1 reszta E

16

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Dodawanie

1
2

8

F

+ 3

7

F

E

1

2

8

F

+ 3

7

F

E

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Dodawanie

1
2

8

F

+ 3

7

F

E

1

2

8

F

+ 3

7

F

E

1

+

8

16

+

7

16

=

= 16

10

16

10

:

16

10

=

1 reszta 0

10

=

1 reszta 0

16

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Dodawanie

11
2

8

F

+ 3

7

F

0E

11

2

8

F

+ 3

7

F

0E

1

+

8

16

+

7

16

=

= 16

10

16

10

:

16

10

=

1 reszta 0

10

=

1 reszta 0

16

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Dodawanie

11
2

8

F

+ 3

7

F

0E

11

2

8

F

+ 3

7

F

0E

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Dodawanie

11

2

8F

+

3

7F

0E

11

2

8F

+

3

7F

0E

1

+

2

16

+

3

16

=

= 6

10

6

10

:

16

10

=

0 reszta 6

10

=

0 reszta 6

16

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Dodawanie

011

2

8F

+

3

7F

60E

011

2

8F

+

3

7F

60E

1

+

2

16

+

3

16

=

= 6

10

6

10

:

16

10

=

0 reszta 6

10

=

0 reszta 6

16

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Dodawanie

011

2

8F

+

3

7F

60E

011

2

8F

+

3

7F

60E

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Plan wykładu

Plan wykładu

Prosty program
DEBUG
Arytmetyka

heksadecymalna

Liczby ujemne

Najważniejsze rozkazy

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Liczby ujemne

Liczby ujemne

Uzupełnienie do 2

Liczba ujemna -

b

jest

reprezentowana jako:

2

n

-

b

n

bitów daje przedział:

[-2

n

-1

, 2

n

-1

- 1]

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Liczby ujemne

Liczby ujemne

3 bity

000

2

=

0

10

001

2

=

1

10

010

2

=

2

10

011

2

=

3

10

100

2

=

4

10

101

2

=

5

10

110

2

=

6

10

111

2

=

7

10

3

3

3

2

2

2

1

1

1

0

0

0

-1

7

7

-2

6

6

-3

5

5

-4

4

4

Liczba

Kod

2

3

-

b

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Liczby ujemne

Liczby ujemne

16 bitów

32767

7FFF

7FFF

...

...

...

1

1

1

0

0

0

-1

FFFF

FFFF

...

...

...

-32767

8001

8001

-32768

8000

8000

1111

FFFF

FFFF

+

2

2

0001

1

111

FFFF

FFFF

+

2

2

0001

-1
+ 2
1

-1
+ 2
1

=

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Zmiana znaku

Liczby ujemne

Liczby ujemne

1. Zaneguj bity (0 1, 1 0)
2. Dodaj 1

0

F
1

E
2

D
3

C
4

B
5

A
6

9
7

8

FFFF =

-1

0000

0001

5 -5
-7
7

F -
cyfra

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Zmiana znaku

Liczby ujemne

Liczby ujemne

1. Zaneguj bity (0 1, 1 0)
2. Dodaj 1

0

F
1

E
2

D
3

C
4

B
5

A
6

9
7

8

0002

=
-2

FFFD

FFFE

F -
cyfra

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Plan wykładu

Plan wykładu

Prosty program
DEBUG
Arytmetyka

heksadecymalna

Liczby ujemne

Najważniejsze rozkazy

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Rozkazy pomocnicze

Najważniejsze rozkazy

Najważniejsze rozkazy

c := z

c := z

MOV

c

,

z

SUB

c

,

z

c := c - z

c := c - z

NEG

c

c := - c

c := - c

ax := bx - cx -

1

mov ax, bx
sub ax, cx
sub ax, 1

move

subtra

ct

negatio

n

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Skoki warunkowe

Najważniejsze rozkazy

Najważniejsze rozkazy

if c = z
then

begin

. . .

end;

if c = z
then

begin

. . .

end;

CMP

c

,

z

JNE

e

. . .

e

:

c

o

mp

are

j

ump if

n

ot

e

qual

SF ZF

. . .

. . .

PS
W

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Skoki warunkowe

Najważniejsze rozkazy

Najważniejsze rozkazy

JE

e

j

ump if

e

qual

if c <> z
then ...

if c <> z
then ...

JNL

e

j

ump if

n

ot

l

ess

if c < z
then ...

if c < z
then ...

JG

e

j

ump if

g

reater

if c <= z
then ...

if c <= z
then ...

JNG

e

j

ump if

n

ot

g

reater

if c > z
then ...

if c > z
then ...

JL

e

j

ump if

l

ess

if c >= z
then ...

if c >= z
then ...

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Skoki warunkowe - przykład

Najważniejsze rozkazy

Najważniejsze rozkazy

ax := min {bx,

cx}

mov ax, bx
cmp ax, cx
jle ok
mov ax, cx
ok: int 3

ax:= bx;
if ax > cx
then
ax:= cx

ax:= bx;
if ax > cx
then
ax:= cx

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Skok bezwarunkowy

Najważniejsze rozkazy

Najważniejsze rozkazy

while c = z
do

begin

. . .

end;

while c = z
do

begin

. . .

end;

pocz

:

CMP

c

,

z

JNE

kon

. . .

JMP

pocz

kon

:

c = z

. . .

Tak

Nie

j

u

m

p

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Skok bezwarunkowy

Najważniejsze rozkazy

Najważniejsze rozkazy

if c = z

then

ins1

else

ins2

if c = z

then

ins1

else

ins2

CMP c,
z

JNE
els

ins1

JMP
kon

els:

ins2

kon:

c = z

ins1

Tak

Nie

ins2

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Skok bezwarunkowy -

przykład

Najważniejsze rozkazy

Najważniejsze rozkazy

ax := nwd {ax,

bx}while ax <> bx do

begin
if ax > bx then
ax:= ax - bx
else
bx:= bx - ax
end;

while ax <> bx do
begin
if ax > bx then
ax:= ax - bx
else
bx:= bx - ax
end;

ax

bx

ax >

bx

ax:=ax-
bx

bx:=bx-
ax

Tak

Tak

Nie

Nie

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Skok bezwarunkowy -

przykład

Najważniejsze rozkazy

Najważniejsze rozkazy

ax := nwd {ax,

bx}

whi: cmp ax, bx
je kon
jle els
sub ax, bx
jmp od
els: sub bx, ax
od: jmp whi
kon: int 3

while ax <> bx do
begin
if ax > bx then
ax:= ax - bx
else
bx:= bx - ax
end;

while ax <> bx do
begin
if ax > bx then
ax:= ax - bx
else
bx:= bx - ax
end;

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Podsumowanie

Podsumowanie

Rejestr - rodzaj zmiennej
DEBUG - interfejs z

użytkownikiem

Reprezentacja

heksadecymalna

Pisanie programów w

języku asemblera jest
trudniejsze niż w języku
wysokiego poziomu

Wreszcie
!

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Literatura

Literatura

J.Nawrocki, Programowanie

komputerów IBM PC w języku
asemblera metodą
systematyczną, WPP, 1991.

background image


J.Nawrocki, Wprowadzenie ..,
Wykład 5

Ocena wykładu

Ocena wykładu

1. Wrażenie ogólne? (1 -

6)

2. Zbyt wolno czy zbyt

szybko?

3. Czy dowiedziałeś się

czegoś ważnego?

4. Co poprawić i jak?


Document Outline


Wyszukiwarka

Podobne podstrony:
01Wpr5 Asm2id 3328 ppt
03 Sejsmika04 plytkieid 4624 ppt
Choroby układu nerwowego ppt
10 Metody otrzymywania zwierzat transgenicznychid 10950 ppt
10 dźwigniaid 10541 ppt
03 Odświeżanie pamięci DRAMid 4244 ppt
Prelekcja2 ppt
2008 XIIbid 26568 ppt
WYC4 PPT
rysunek rodziny ppt
1 GEN PSYCH MS 2014id 9257 ppt

więcej podobnych podstron