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

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

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

+

 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

+

 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

+

 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

+

 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

 


 


 

D
 

C
 

B
 

A
 

9
 

8

FFFF = 

-1

0000

0001

 -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

 


 


 

D
 

C
 

B
 

A
 

9
 

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 z 
then

   begin

   . . .

   end;

if 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 z 
do

   begin

   . . .

   end;

while 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 z 

   then

   ins1

else

   ins2

if 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