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

Plan wykładu

Plan wykładu

• Prosty program

• DEBUG
• Arytmetyka 

heksadecymalna

• Liczby ujemne
• Koncepcja von Neumanna
• Rozkazy skoku

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 najprostszego 

programu

code segment
     assume cs: code
start:

     instrukcje

code ends
     end start

Dlaczeg

o tak?

Czasami 

najwięcej rzucają 

cienia właśnie 

wyjaśnienia.

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 – pierwszy krok

Zapisz 

program w 

pliku 

prog.asm

background image

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

Prosty program

Prosty program

Uproszczony schemat 

kompilacji

MAS
M

LINK

prog.o
bj

prog.e
xe

prog.as
m

prog.l
st

background image

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

Prosty program

Prosty program

Kompilacja - MASM

Poleceni

e

Błęd

y

Ostrzeże

nia

background image

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

Prosty program

Prosty program

Kompilacja – Listing 

kompilacji

Numer 

wiersza

Tekst 

program

u

Kod 

przekład

u

Adres 

względ

ny

background image

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

Prosty program

Prosty program

Kompilacja - LINK

Nieistotne 

ostrzeżenie

Poleceni

e

background image

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

Prosty program

Prosty program

Uruchomienie - DEBUG

background image

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

Plan wykładu

Plan wykładu

• Prosty program

• DEBUG

• Arytmetyka 

heksadecymalna

• Liczby ujemne
• Koncepcja von Neumanna
• Rozkazy skoku

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=198C ES=198C SS=199C CS=199C IP=0004

199C:0004 CC          INT 3

-

q

Nast. instrukcja

background image

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

DEBUG - przykład sesji

DEBUG - przykład sesji

D

E

B

U

G

MS 
DOS

MS 
DOS

background image

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

Częściowe podsumowanie

Częściowe podsumowanie

Umiemy już:
• napisać program,
• skompilować go,
• uruchomić.

Hura! 

Ale to 

proste!

background image

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

DEBUG - inna sesja

DEBUG - inna sesja

6 + 6 + 6 = 18 czy 12?

Dziwn

e!

background image

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

Plan wykładu

Plan wykładu

• Prosty program
• DEBUG

• Arytmetyka 

heksadecymalna

• Liczby ujemne
• Koncepcja von Neumanna
• Rozkazy skoku

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 dziesiętny

123

10

=  100   +   20     
+   3

3* 

10

0

 

2* 

10

1

 

+

1*

10

2

 

+

background image

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

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

System szesnastkowy

123

16

=  256   +   32     +   3       
= 291

10

3* 

16

0

 

2* 

16

1

 

+

1*

16

2

 

+

12

16

 = 1*

16

1

 + 2*

16

0

 = 16 + 2 

= 18

10

background image

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

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

12

16

 = 18

10

Aha!

background image

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

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Dodawanie metodą pośrednią

 

 

28F

16

+

 

37F

16

 

 

28F

16

+

 

37F

16

 

 

 

 +

 

 

 

 +

1550

10

11

2*

256

 + 8*

16

 

+ 15

3*

256

 + 7*

16

 

+ 15

655

10

895

10

6*

256

 + 0*

16

 

+ 14

60E

16

background image

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

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Dodawanie metodą 

bezpośrednią

 

 

28F

+

 

37F

 

 

28F

+

 

37F

background image

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

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

Dodawanie metodą 

bezpośrednią

  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 metodą 

bezpośrednią

   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 metodą 

bezpośrednią

   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 metodą 

bezpośrednią

   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 metodą 

bezpośrednią

  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 metodą 

bezpośrednią

  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 metodą 

bezpośrednią

  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 metodą 

bezpośrednią

 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 metodą 

bezpośrednią

 011
  

2

8F

3

7F

  60E

 

011

  

2

8F

3

7F

  60E

background image

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

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

ax:= ax + bx + cx

 011
  

2

8F

3

7F

  60E

 

011

  

2

8F

3

7F

  60E

background image

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

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

ax:= ax + bx + cx

Nie 

można 

proście

j?

background image

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

ax := bx + cx

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

c := z

c := z

 MOV  

c

z

mov

e

prog  segment
      assume cs: prog
start:

      

mov ax, bx

      add ax, cx
      int 3

prog  ends
      end start

background image

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

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

ax:= bx + cx

 011
  

2

8F

3

7F

  60E

 

011

  

2

8F

3

7F

  60E

background image

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

ax := bx - cx

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

c := c - z

c := c - z

 SUB  

c

z

subtra

ct

prog  segment
      assume cs: prog
start:

      

mov ax, bx

      sub ax, cx
      int 3

prog  ends
      end start

background image

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

ax := bx - cx

Arytmetyka heksadecymalna

Arytmetyka heksadecymalna

prog  segment
      assume cs: prog
start:

      

sub bx, cx

      mov ax, bx
      int 3

prog  ends
      end start

A czy 

można 

tak?

background image

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

Plan wykładu

Plan wykładu

• Prosty program
• DEBUG
• Arytmetyka 

heksadecymalna

• Liczby ujemne

• Koncepcja von Neumanna
• Rozkazy skoku

background image

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

Liczby ujemne

Liczby ujemne

Uzupełnienie do 2

b                jeśli b 
 0
2

n

 - |b|       jeśli b 

< 0

kod (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

4 bity

15

kod(b
)

b

7

background image

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

Liczby ujemne

Liczby ujemne

3 bity

 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

 1111
  

FFFF

FFFF

+    

2

2

  0001

 

1

111

  

FFFF

FFFF

+    

2

2

  0001

Liczby ujemne

Liczby ujemne

ax:= bx + cx

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

ax := - ax

Liczby ujemne

Liczby ujemne

c := -c

c := -c

 NEG  

c

negati

on

prog  segment
      assume cs: prog
start:

      

neg ax

      int 3

prog  ends
      end start

background image

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

ax := - ax

Liczby ujemne

Liczby ujemne

background image

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

Plan wykładu

Plan wykładu

• Prosty program
• DEBUG
• Arytmetyka heksadecymalna
• Liczby ujemne

• Koncepcja von Neumanna

• Rozkazy skoku

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

Koncepcja von Neumanna

Koncepcja von Neumanna

Kod    Rozkaz                          Przykład

   

1

     MovRegCon(

R

, C)         

1

 

1

 1        

R1

  1

   

2

     MovRegReg(

Rd

, Rs)     

2

 

2

 1        

R2

  R1

   

3

     AddRegReg(

Rd

, Rs)     

3

 

1

 2        

R1

  

R1

+R2

   

4

     SubRegReg(

Rd

, Rs)     

4

 

2

 1        

R2

  

R2

–R1

   

5

     NegReg(

R

)                     

5

 

2           R2

  - 

R2

   

6

     Int(C)                              

3

Przykładowe kody rozkazów

background image

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

ax := bx - cx

Koncepcja von Neumanna

Koncepcja von Neumanna

prog  segment
      assume cs: prog
start:

      

mov ax, bx

      sub ax, cx
      int 3

prog  ends
      end start

2 0 
1

4 0 
2

6 3

background image

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

Koncepcja von Neumanna

Koncepcja von Neumanna

2

2

0

0

1

1

MovRegReg

ax

bx

10

4

4

0

0

2

2

13

6

6

SubRegReg

3

3

16

Int

 

 

18

ax

cx

ax

ax

bx

bx

5

5

0

0

cx

cx

3

3

ax := bx - cx

10

10

Licznik 

Licznik 

rozkazów

rozkazów

background image

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

Koncepcja von Neumanna

Koncepcja von Neumanna

2

2

0

0

1

1

MovRegReg

ax

bx

10

4

4

0

0

2

2

13

6

6

SubRegReg

3

3

16

Int

 

 

18

ax

ax

bx

bx

10

10

Licznik 

Licznik 

rozkazów

rozkazów

5

5

0

0

ax

cx

cx

cx

3

3

ax := bx - cx

1. Ściągnięcie 
rozkazu z 
pamięci

background image

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

Koncepcja von Neumanna

Koncepcja von Neumanna

2

2

0

0

1

1

MovRegReg

ax

bx

10

4

4

0

0

2

2

13

6

6

SubRegReg

3

3

16

Int

 

 

18

ax

ax

bx

bx

13

13

Licznik 

Licznik 

rozkazów

rozkazów

5

5

0

0

ax

cx

cx

cx

3

3

ax := bx - cx

1a. Ustawienie 
licznika na 
następny rozkaz

background image

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

Koncepcja von Neumanna

Koncepcja von Neumanna

2

2

0

0

1

1

MovRegReg

ax

bx

10

4

4

0

0

2

2

13

6

6

SubRegReg

3

3

16

Int

 

 

18

ax

ax

bx

bx

13

13

Licznik 

Licznik 

rozkazów

rozkazów

5

5

0

0

ax

cx

cx

cx

3

3

ax := bx - cx

5

5

2. Wykonanie 
rozkazu

background image

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

Koncepcja von Neumanna

Koncepcja von Neumanna

2

2

0

0

1

1

MovRegReg

ax

bx

10

4

4

0

0

2

2

13

6

6

SubRegReg

3

3

16

Int

 

 

18

ax

ax

bx

bx

13

13

Licznik 

Licznik 

rozkazów

rozkazów

5

5

0

0

ax

cx

cx

cx

3

3

ax := bx - cx

5

5

1. Ściągnięcie 
rozkazu z 
pamięci

background image

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

Koncepcja von Neumanna

Koncepcja von Neumanna

2

2

0

0

1

1

MovRegReg

ax

bx

10

4

4

0

0

2

2

13

6

6

SubRegReg

3

3

16

Int

 

 

18

ax

ax

bx

bx

16

16

Licznik 

Licznik 

rozkazów

rozkazów

5

5

0

0

ax

cx

cx

cx

3

3

ax := bx - cx

5

5

1a. Ustawienie 
licznika na 
następny rozkaz

background image

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

Koncepcja von Neumanna

Koncepcja von Neumanna

2

2

0

0

1

1

MovRegReg

ax

bx

10

4

4

0

0

2

2

13

6

6

SubRegReg

3

3

16

Int

 

 

18

ax

ax

bx

bx

16

16

Licznik 

Licznik 

rozkazów

rozkazów

5

5

0

0

ax

cx

cx

cx

3

3

ax := bx - cx

5

5

2

2

2. Wykonanie 
rozkazu

background image

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

Plan wykładu

Plan wykładu

• Prosty program
• DEBUG
• Arytmetyka 

heksadecymalna

• Liczby ujemne
• Koncepcja von Neumanna

• Rozkazy skoku

background image

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

Skoki warunkowe

Rozkazy skoku

Rozkazy skoku

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

Rozkazy skoku

Rozkazy skoku

 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

Rozkazy skoku

Rozkazy skoku

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

Rozkazy skoku

Rozkazy skoku

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

Rozkazy skoku

Rozkazy skoku

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

Rozkazy skoku

Rozkazy skoku

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

Rozkazy skoku

Rozkazy skoku

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