• Nenhum resultado encontrado

02-Introducao a Assembly

N/A
N/A
Protected

Academic year: 2021

Share "02-Introducao a Assembly"

Copied!
52
0
0

Texto

(1)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(*

Introdução à ln!u"!#$ "%%#$&l' do ()(*

A %nt"+# "%%#$&l' do ()(*

A %nt"+# "%%#$&l' do ()(*

••

A ln!u"!#$ $ont"dor" não , %#n%-.#l à l#tr" $"/%0ul" ou

A ln!u"!#$ $ont"dor" não , %#n%-.#l à l#tr" $"/%0ul" ou

$n/%0ul"

$n/%0ul"

••

P"r" 1"0lt"r " 0o$2r##n%ão do t#+to do

P"r" 1"0lt"r " 0o$2r##n%ão do t#+to do 2ro!r"$"3 %u!#r#4%#5

2ro!r"$"3 %u!#r#4%#5

 –

 –

u%o d# l#tr" $"/%0ul" 2"r" 06d!o7

u%o d# l#tr" $"/%0ul" 2"r" 06d!o7

 –

 –

u%o d# l#tr" $n/%0ul" 2

u%o d# l#tr" $n/%0ul" 2"r" 0o$#nt8ro%9

"r" 0o$#nt8ro%9

D#0l"r"ç:#% ;

D#0l"r"ç:#% ;

statementsstatements

<5

<5

••

n%truç:#%3 =u# %ão 0on.#rtd"% #$ 06d!o d#

n%truç:#%3 =u# %ão 0on.#rtd"% #$ 06d!o d# $8=un"

$8=un"

••

dr#t."%3 =u# n%tru#$ o $ont"dor " r#"l>"r

dr#t."%3 =u# n%tru#$ o $ont"dor " r#"l>"r "l!u$" t"r#1"

"l!u$" t"r#1"

#%2#0-10"5

#%2#0-10"5

 –

 –

"lo0"r #%2"ço d# $#$6r"

"lo0"r #%2"ço d# $#$6r" 2"r" ."r8.#%

2"r" ."r8.#%77

 –

(2)
(3)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

LINGUAGEM DE MONTAGEM

Introdução

Introdução à ln!u"!#

à ln!u"!#$ "%%#$&l'

$ "%%#$&l' do ()(*

do ()(* 4

4 Snt"+# ?

Snt"+# ?

0ontnu"ção

0ontnu"ção

••

@or$"to d# u$" d#0l"r"ção ;ln" d#

@or$"to d# u$" d#0l"r"ção ;ln" d# 2ro!r"$"<5

2ro!r"$"<5

No$#

No$#

Cod9

Cod9 o2#r9 O2#r

o2#r9 O2#r"ndo;%<

"ndo;%< 7Co$#nt8ro

7Co$#nt8ro

E+#$2lo5

E+#$2lo5

IIN

NIIC

CIIO

O5

5

M

MO

O

 C

C

33FF

77n

n00""ll>>""r

r 00o

on

ntt""d

do

or  

r  

O&%#r."ção5

O&%#r."ção5

A %#2"r"ção #ntr# o% 0"$2o% d#.# %#r do t2o #%2"çoH ou

(4)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

LINGUAGEM DE MONTAGEM

Introdução

Introdução à ln!u"!#$

à ln!u"!#$ "%%#$&l'

"%%#$&l' do ()(*

do ()(* 4

4 Snt"+# ?

Snt"+# ?

0ontnu"ção

0ontnu"ção

••

C"$2o No$#5

C"$2o No$#5

 –

 –

Pod# %#r u$ r6tulo d# n%trução3 u$ no$# d# %u&4rotn"3 u

Pod# %#r u$ r6tulo d# n%trução3 u$ no$# d# %u&4rotn"3 u$

$

no$# d# ."r8.#l3 0ont#ndo d#  "

no$# d# ."r8.#l3 0ont#ndo d#  " J 0"r"0t#r#%3 n0"ndo 2or

J 0"r"0t#r#%3 n0"ndo 2or

u$" l#tr" # 0ont#ndo

u$" l#tr" # 0ont#ndo %o$#nt# l#tr"%3 n/$#ro% # o% 0"r"0t#r#%

%o$#nt# l#tr"%3 n/$#ro% # o% 0"r"0t#r#%

K 9

K 9  

  5 

5  

 99

E+#$2lo%5

E+#$2lo%5 no$#%

no$#% .8ldo%

.8ldo%

no$#%

no$#% n.8ldo%

n.8ldo%

L

LO

OO

OP

P5

5

D

DO

OIIS

S B

BIIT

TS

S

99T

TE

ES

ST

T

""&

&00

00""rr""00tt##rr

A

AQQ99FF

S

SO

OM

MA

AT

TO

OT

TA

AL

LQQ

JJJJ

))

))

O&%#r."ção5

O&%#r."ção5

O Mont"dor tr"du> o%

(5)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

LINGUAGEM DE MONTAGEM

Introdução

Introdução à ln!u"!

à ln!u"!#$ "%%

#$ "%%#$&l'

#$&l' do ()(

do ()(* 4

* 4 Snt"+#

Snt"+#

 ? 0ontnu"ção

 ? 0ontnu"ção

••

C"$2o d# 06d!o d# o2#r"ção5

C"$2o d# 06d!o d# o2#r"ção5

 –

 –

Cont#$ o 06d!o d# o2#r"ção %$&6l0o ;$n#$n0o<

Cont#$ o 06d!o d#

o2#r"ção %$&6l0o ;$n#$n0o<

 –

 –

No 0"%o d# dr#t."%3 0ont#$ o 06d!o

No 0"%o d# dr#t."%3 0ont#$ o 06d!o d# 2%#udo4n%trução

d# 2%#udo4n%trução

E+#$2lo%5

E+#$2lo%5

n

n%%ttrru

uçç:

:##%%

d

drr##tt..""%%

  M

  MO

O

99M

MO

OD

DE

EL

L

  A

  AD

DD

D

99S

ST

TA

AC

C

IIN

NC

C

n

no

o$

$#

# P

PR

RO

OC

C

MP

MP

(6)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

LINGUAGEM DE MONTAGEM

Introdução

Introdução à ln!u"!#$

à ln!u"!#$ "%%#$&l'

"%%#$&l' do ()(*

do ()(* 4

4 Snt"+# ?

Snt"+# ?

0ontnu"ção

0ontnu"ção

•• C"$2o d# o2#r"ndo%5C"$2o d# o2#r"ndo%5  –

 – In%truç:#% 2od#$ 0ont#r )3  ou  In%truç:#% 2od#$ 0ont#r )3  ou  o2#r"ndo% no ()(*9o2#r"ndo% no ()(*9 E+#$2lo%5

E+#$2lo%5 N

NOOPP 7%7%##$ $ oo22##r"r"nnddoo%%5 5 nn%%ttrruu  22""rr" " 11"">>##r r nn""dd"" IN

INC AC A 7u7u$ o2$ o2#r#r"n"ndodo5 %o5 %o$"  $"  "o 0"o 0onont#t#/d/do d# o d# AA AD

ADD D A3A3dd 7do% 7do% o2#r"o2#r"ndo%5 ndo%5 %o$" %o$"   "o "o 0ont#0ont#/do /do d" d" 2"l".2"l".r" r" d# d# $#$6r$#$6r" " AA •• No 0"%o d# n%truç:#% d# do% o2#r"ndo%5No 0"%o d# n%truç:#% d# do% o2#r"ndo%5

 –

 – o 2r$#ro3 o2#r"ndo d#%tno5 r#!%tr"dor ou 2o%ção d# $#$6r" ond# o 2r$#ro3 o2#r"ndo d#%tno5 r#!%tr"dor ou 2o%ção d# $#$6r" ond# oo r#%ult"do %#r8 "r$">#n"do3 o 0ont#/do n0"l %#r8 $od10"do7

r#%ult"do %#r8 "r$">#n"do3 o 0ont#/do n0"l %#r8 $od10"do7  –

 – o %#!undo3 o2#r"ndo 1ont#5 não $od10"do 2#l" n%trução7o %#!undo3 o2#r"ndo 1ont#5 não $od10"do 2#l" n%trução7  –

 – o% o2#r"ndo% %ão %#2"r"do% 2or u$" .-r!ul"9o% o2#r"ndo% %ão %#2"r"do% 2or u$" .-r!ul"9

•• No 0"%o d# dr#t."%3 o 0"$2o d# o2#r"ndo% 0ont#$ $"% n1or$"ç:#% "0#r0"No 0"%o d# dr#t."%3 o 0"$2o d# o2#r"ndo% 0ont#$ $"% n1or$"ç:#% "0#r0" d" dr#t."9

(7)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?

0ontnu"ção

C"$2o d# 0o$#nt8ro5

 –

U$ 2onto4#4.-r!ul" ; 7 < $"r0" o n-0o d#%t# 0"$2o7

 –

O Mont"dor !nor" tudo "26% o #%t# $"r0"dor7

 –

Co$#nt8ro% %ão o20on"%3 $"% $2r#%0nd-.#%9

• Uma boa prática de programação é comentar tudo e incluir a

informação acerca da idéia por trás da codificação (o algorítmo).

E+#$2lo%5

MO C3) 7$o.$#nt" ) 2"r" C ;6&.oV<

MO C3) 7C 0ont" no9 d# 0"r"0t#r#%3 n0"l$#nt# ."l# )

7

;ln"% #$ &r"n0o5 %#2"r"ção<

7

(8)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?

0ontnu"ção

@or$"to d# d"do%3 ."r8.#% # 0on%t"nt#%

 –

N/$#ro%5

E+#$2lo%5

&n8ro5 ))& ou ))B

d#0$"l5 *QJ ou *QJd ou *QJD3 )) , 0on%d#r"do

d#0$"l ;"u%Wn0" do B<3

(QD ;n/$#ro n#!"t.o<

#+"5 *QJ ou *QJX3 )@@@@ ;0o$#ç" 0o$ u$ d#0$"l # t#r$n"

0o$ <3 BQD

(9)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?

0ontnu"ção

E+#$2lo% d# n/$#ro% l#!"%5

3JQ 0"r"0t#r #%tr"no ;.-r!ul"<

@@@@ não 0o$#ç" 2or n/$#ro d# ) " Y d1-0l d%tn!ur do no$# d# u$" ."r8.#l

BQD não t#r$n" 0o$  ou X • C"r"0t#r#% ASCII5

 – C"r"0t#r#% %ol"do% ou strings d# 0"r"0t#r#% d#.#$ #%t"r #%0rto% d#ntro d# "%2"% %$2l#% ;  < ou du2l"% ; [ <9

E+#$2lo%5

[ A\ ou  A ] ol"3 0o$o ."] [EEMPLO\

(10)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?

0ontnu"ção

• "r8.#%5 "r8.#l , u$ no$# %$&6l0o 2"r" u$ d"do "tu"l>8.#l 2#lo 2ro!r"$"9

 – C"d" ."r8.#l 2o%%u u$ t2o # r#0#&# u$ #nd#r#ço d# $#$6r"7  – U%"4%# 2%#udo4n%truç:#% 2"r" d#1nr o t2o d" ."r8.#l7

 – O Mont"dor "tr&u o #nd#r#ço d# $#$6r"9

PSEUDO4INSTRUÇÃO SIGINI@ICADO

DB d#1n# &'t# ;( &t%<

D^ d#1n# _ord ;* &t%3  &'t#% 0on%#0ut.o%<

DD d#1n# dou&l#_ord ; 2"l".r"%3 Q &'t#% 0on%#0ut.o%< D` d#1n# =u"d_ord ;Q 2"l".r"%3 ( &'t#% 0on%#0ut.o%< DT d#1n# t#n &'t#% ;) &'t#% 0on%#0ut.o%<

(11)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

• D#1nção d# ."r8.#% d# t2o &'t#5 No$# DB ."lor n0"l E+#$2lo%5 Al1" DB ) 7#=u."l# " )) A DB ) B DB )F) 7l#!"l3 2or =u#K BIT DB K 7não n0"l>"d"

• D#1nção d# ."r8.#% d# t2o _ord5 No$# D^ ."lorn0"l

E+#$2lo%5

^ORD D^ ) 7#=u."l# " )))) CONTA D^ )F) 7OV3 2or =u#K C D^ K 7não n0"l>"d"

^ORD D^ JQ 7&'t# &"+o JQ3 #nd#r#ço ^ORD 7&'t# "lto  #nd#r#ço ^ORDa

(12)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(*

4 Snt"+# ? 0ontnu"ção

•  Array 5 %#=uWn0" d# &'t#% ou _ord% 0on%#0ut.o% n" $#$6r"  – Ar$">#n"r d"do% r#l"0on"do%7

 – Ar$">#n"r 0"r"0t#r#% ASCII or!"n>"do% ;#+5 t#+to<9 E+#$2lo%5

BbTEARRAb DB )3)3J)

^ORDARRAb D^ )))3J3)3)@@@@

• U$ array  2od# 0ont#r u$ string  d# 0"r"0t#r#%3 %#ndo d#1ndo 0o$o5 LETRAS DB "&C] 7#c #=u."l#nt# "o% 0"r"0t#r#% ASCII

LETRAS DB *3*3QJ 7d#2#nd# %# $"/%0ul" ou 7 $n/%0ul"

(13)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

• Co$&n"ção d# 0"r"0t#r#% # n/$#ro% nu$" $#%$" d#1nção5 MENSAGEM DB AloV]3 )A3)D3]]

O 0"r"0t#r  $"r0" o 1$ d# u$ string  d# 0"r"0t#r#% # não , #+&do9

• Con%t"nt#%5 , u$ no$# %$&6l0o 2"r" u$ d"do d# ."lor 0on%t"nt#3 =u# %#e" $uto utl>"do nu$ 2ro!r"$"9

 – P"r" "tr&ur u$ no$# " u$" 0on%t"nt#3 utl>"4%# " 2%#udo4n%trução E`U ;equates 4H !u"l "< # " %nt"+#5

No$# E`U."lord"0on%t"nt# E+#$2lo%5

L@ E`U)A 70"r"0t#r Line eed  0o$o L@

CR E`U)D 70"r"0t#r !arriage return 0o$o CR LINXA E`UD!t# %#u no$# 0o$2l#to]

MENSAGEM DB LINXA3L@3CR

(14)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

• Al!u$"% n%truç:#% n0"%  – MO d#%tno3 1ont#

• U%"d" 2"r" tr"n%1#rr d"do% #ntr#5  – r#!%tr"dor # r#!%tr"dor 

 – r#!%tr"dor # u$" 2o%ção d# $#$6r"

 – $o.#r u$ n/$#ro dr#t"$#nt# 2"r" u$ r#!%tr"dor ou 2o%ção d# $#$6r"

O2#r"ndo O2#r"ndo d#%tno 1ont#

R#!%tr"dor R#!%tr"dor Po%ção d"do% %#!$#nto $#$6r" R#!%tr"dor  D"do% %$ %$ %$ R#!%tr"dor %$ não %$ S#!$#nto Po%ção %$ %$ não $#$6r" Con%t"nt# %$ não %$

(15)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4

A #%trutur"

do 2ro!r"$"

Al!u$"% n%truç:#% n0"% 4 0ontnu"ção

E+#$2lo% d# n%truç:#% .8ld"%5

MO A3^ORD

7$o.$#nt" o 0ont#/do d" 2o%ção d#

7$#$6r" ^ORD 2"r" o r#!%tr"dor A

MO AX3]A]

7tr"n%1#r# o 0"r"0t#r# ASCII A] 2"r" AX

MO AX3Q

7d#$5 Q 0orr#%2ond# "o 0"r"0t#r# A

MO AX3BL

7$o.# o 0ont#/do do &'t# &"+o d# B

72"r" o &'t# "lto d# A

(16)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 A #%trutur" do 2ro!r"$" • Al!u$"% n%truç:#% n0"% ? 0ontnu"ção

• Gr"10"$#nt#5 %u2on" " n%trução MO A3^ORD

O&%5 2"r" " n%trução MO não , 2#r$tdo o2#r"r d# 2o%ção d# $#$6r" 2"r" 2o%ção d# $#$6r" dr#t"$#nt#3 2or $ot.o% t,0n0o% do ()(*9

Por #+#$2lo5

MO ^ORD3^ORD 7n%trução n.8ld" 7#%t" r#%trção , 0ontorn"d" 0o$o %#!u# 7

MO A3^ORD 72r$#ro o 0ont#/do d# ^ORD ." 2"r" A MO ^ORD3A 7d#2o%3 o 0ont#/do d# A , $o.do 2"r" "

72o%ção d# $#$6r" ^ORD Ant#% D#2o% A A )))* (@@@ ^ORD ^ORD (@@@ (@@@

(17)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 A #%trutur" do 2ro!r"$"

Al!u$"% n%truç:#% n0"% ? 0ontnu"ção

 –

CXG d#%tno3 1ont#

• U%"d" 2"r" tro0"r d"do% ;no% do% %#ntdo%< #ntr#5  – r#!%tr"dor # r#!%tr"dor 

 – r#!%tr"dor # u$" 2o%ção d# $#$6r"

 – não , 2#r$tdo tro0"% dr#t"% #ntr# 2o%ç:#% d# $#$6r"

O2#r"ndo O2#r"ndo d#%tno 1ont#

  R#!%tr"dor Po%ção d"do% $#$6r" R#!%tr"dor 

D"do% %$ %$ R#!%tr"dor não não S#!$#nto

Po%ção %$ não

(18)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 A #%trutur" do 2ro!r"$"

Al!u$"% n%truç:#% n0"% ? 0ontnu"ção

E+#$2lo% d# n%truç:#% .8ld"%5

CXG A3 ^ORD 7tro0" o 0ont#/do d" 2o%ção d# $#$6r"

7 ^ORD 0o$ o do r#!%tr"dor A

CXG AX3 BL

7tro0" o 0ont#/do do &'t# &"+o d# B 0o$ o

7do &'t# "lto d# A

Gr"10"$#nt#5 %u2on" " n%trução CXG A3B

Ant#% D#2o%

A B

)))* @@@@

A B

(19)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 A #%trutur" do 2ro!r"$"

Al!u$"% n%truç:#% n0"% ? 0ontnu"ção

 – ADD d#%tno31ont#  – SUB d#%tno31ont#

• U%"d"% 2"r" "d0on"r ;ou %u&tr"r< d"do% #ntr#5  – r#!%tr"dor # r#!%tr"dor 

 – r#!%tr"dor # u$" 2o%ção d# $#$6r"

 – "d0on"r ;ou %u&tr"r< u$ n/$#ro dr#t"$#nt# " ;d#< u$ r#!%tr"dor ou 2o%ção d# $#$6r"

O2#r"ndo O2#r"ndo d#%tno 1ont# R#!%tr"dor Po%ção d"do% $#$6r" R#!%tr"dor  D"do% %$ %$ Po%ção %$ não $#$6r" Con%t"nt# %$ %$

(20)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 A #%trutur" do 2ro!r"$"

Al!u$"% n%truç:#% n0"% ? 0ontnu"ção

E+#$2lo% d# n%truç:#% .8ld"%5

ADD A3B 7%o$" o 0ont#/do d# B 0o$ A3 r#%ult"do #$ A

ADD A3^ORD 7%o$" o 0ont#/do d" 2o%ção d# $#$6r" ^ORD " A3 7 r#%ult"do #$ A

SUB ^ORD3A 7%u&tr" o 0ont#/do d# A do 0ont#/do d" 2o%ção d# 7 $#$6r" ^ORD3 r#%ult"do #$ ^ORD

SUB BL3F 7%u&tr" " =u"ntd"d# F d#0$"l do 0ont#/do d# BL

Gr"10"$#nt#5 %u2on" " n%trução ADD A3D

Ant#% D#2o%

A D

)))* )))A

A D

(21)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 A #%trutur" do 2ro!r"$"

Al!u$"% n%truç:#% n0"% ? 0ontnu"ção

O&%#r."ç:#%5

 4

ADD BbTE3BbTE

7n%trução n.8ld"

7#%t" r#%trção , 0ontorn"d" 0o$o %#!u#

7

MO AL3BbTE

72r$#ro o 0ont#/do d# BbTE ." 2"r" AL

ADD BbTE3AL

7d#2o%3 o 0ont#/do d# AL , %o$"do "o d"

72o%ção d# $#$6r" BbTE3 r#%ult"do 1n"l

7#$

BbTE

4

O r#%ult"do d# SUB3 %# 1or n#!"t.o3 #%t"r8 "r$">#n"do no

(22)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?

0ontnu"ção

• INC d#%tno • DEC d#%tno

 – U%"d"% 2"r" "d0on"r  ;n0r#$#nt"r< ou %u&tr"r  ;d#0r#$#nt"r< "ofdo 0ont#/do d#5

• u$ r#!%tr"dor7

• u$" 2o%ção d# $#$6r"9

E+#$2lo%5

INC C 7n0r#$#nt" o 0ont#/do d# C

INC ^ORD 7n0r#$#nt" 0ont#/do 2o%ção $#$6r" ^ORD DEC BbTE 7d#0r#$#nt" 0ont#/do 2o%ção d# $#$6r" BbTE DEC CL 7d#0r#$#nt" o 0ont#/do d# CL ;&'t# &"+o d# C< Gr"10"$#nt#5 %u2on" " n%trução INC BbTE

Ant#% D#2o%

BbTE BbTE

(23)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?

0ontnu"ção

NEG d#%tno

 –

U%"d" 2"r" %u&%ttur o 0ont#/do

destino

 2#lo %#u 0o$2l#$#nto

d# 3 o2#r"ndo %o&r#5

u$ r#!%tr"dor7

• u$" 2o%ção d# $#$6r"9

E+#$2lo%5

NEG B

7!#r" o 0o$2l#$#nto d#  do 0ont#/do d# B

NEG ^ORD

7d#$3 no 0ont#/do d" 2o%ção d# $#$6r" ^ORD

Gr"10"$#nt#5 %u2on" " n%trução NEG B

Ant#% D#2o%

BbTE BbTE

(24)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?

0ontnu"ção

• Tr"dução d# #+2r#%%:#% $"t#$8t0"% #$ Ln!u"!#$ d# Alto N-.#l 2"r" Ln!u"!#$ Mont"dor"

E+#$2lo5 B h A ;#=u."l#nt# " B r#0#&# A<

MO A3A 7tr"n%1#r# o 0ont#/do d" 2o%ção d# $#$6r" A 2"r" A # MO B3A 7tr"n%1#r# A 2"r" " 2o%ção d# $#$6r" B

E+#$2lo 5 A h F 4 A

NEG A 7!#r" o 0o$2l#$#nto d#  d" 2o%ção d# $#$6r" A # ADD A3F 7r#"l>" ;4A< a F3 =u# #=u."l# " F 4 A

E+#$2lo J5 A h B 4 A

MO A3B 7A 0ont#$ " ."r8.#l B SUB A3A 7A 0ont#$ B 4 A

SUB A3A 7A 0ont#$ B 4 A

(25)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

A #%trutur" d# u$ 2ro!r"$" #$ Ln!u"!#$ Mont"dor"

i Mod#lo% d# $#$6r"

O t"$"no =u# o% %#!$#nto% d# 06d!o # d# d"do% d#.#$ t#r , #%2#010"do 2#lo $od#lo d# $#$6r" 2or $#o d" dr#t." 9MODEL9

Snt"+#5 9MODEL $od#lod#$#$6r"

Mod#lo D#%0rção

SMALL C6d!o #$  %#!$#nto7

D"do% #$  %#!$#nto

MEDIUM C6d!o #$ $"% d#  %#!$#nto7 D"do% #$  %#!$#nto

COMPACT C6d!o #$  %#!$#nto7

D"do% #$ $"% d#  %#!$#nto LARGE C6d!o #$ $"% d#  %#!$#nto7

D"do% #$ $"% d#  %#!$#nto7 N#nu$ "rr"' $"or =u# *Q &'t#% XUGE C6d!o #$ $"% d#  %#!$#nto7

D"do% #$ $"% d#  %#!$#nto7 Arr"'% $"or#% =u# *Q &'t#%

O&%#r."ção5 A dr#t." 9MODEL d#.# .r "nt#% d# =u"l=u#r d#1nção d# %#!$#nto9

(26)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

A #%trutur" d# u$ 2ro!r"$" #$ Ln!u"!#$

Mont"dor"

S#!$#nto d# d"do%

 –

Cont#$ " d#1nção # d#0l"r"ção d"% ."r8.#%9

 –

Pod#4%# t"$&,$ 1">#r " "tr&ução d# %-$&olo% 2"r"

0on%t"nt#%9

Snt"+#5

9DATA

E+#$2lo5

9DATA

^ORD

D^

A(

BbTE

DB

F

MENSAGEMDB

I%to # u$" $#n%"!#$]

(27)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

A #%trutur" d# u$ 2ro!r"$" #$ Ln!u"!#$

Mont"dor"

S#!$#nto d# 2l" ;

stac" segment 

<

 –

R#%#r." u$ &lo0o d# 2o%ç:#% d# $#$6r" 0on%#0ut."% 2"r"

"r$">#n"r " 2l"9

 –

D#.# t#r #%2"ço %u10#nt# 2"r" %u2ort"r " 2l" no %#u $8+$o

t"$"no9

Snt"+#5

9STAC t"$"no

E+#$2lo5

9STAC ))

7r#%#r." )) &'t#% 2"r" " 8r#" d# 2l"3 u$

7t"$"no r">o8.#l 2"r" " $"or" d"%

(28)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

A #%trutur" d# u$ 2ro!r"$" #$ Ln!u"!#$ Mont"dor"

• S#!$#nto d# 06d!o

 – Cont#$ 2ro2r"$#nt# "% n%truç:#% do 2ro!r"$"9

 – D#ntro do %#!$#nto d# 06d!o3 "% n%truç:#% %ão or!"n>"d"% #$  procedures ou 2ro0#d$#nto%.

Snt"+#5 9CODE

E+#$2lo5 9CODE

no$# PROC

7

70or2o d" procedure 4H n%truç:#% 7

no$# ENDP 7

7outr"% procedures %#!u#$ "&"+o3 %# #+%tr#$ ond#5

no$# 4H d#nt10"ção d" procedure

PROC # ENDP 4H 2%#udo4n%truç:#% u%"d"% 2"r" d#l$t"r " procedure 2"r" u$ 2ro!r"$" %$2l#%3 não 8 n#0#%%d"d# d# %# d#1nr " procedure9

(29)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

E+#$2lo d# u$" #%trutur" d# 2ro!r"$" "%%#$&l' 0o$2l#t" TITLE no$#do2ro!r"$"

9MODEL SMALL

9STAC)) 9DATA

7

7d#1nção do% d"do%5 ."r8.#% # 0on%t"nt#% 7 9CODE EEMPLO PROC 7 7%#=jWn0" d# n%truç:#% 7 EEMPLO ENDP 7

7%#!u# outr"% 2ro0#dur#% 7

END EEMPLO O&%5

 – n" 2r$#r" ln" t#$4%# " dr#t." TITLE %#!ud" do no$# do 2ro!r"$"7  – n" /lt$" ln" t#$4%# " dr#t." END3 %#!ud" do no$# d" procedure

2rn02"l7

(30)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

• In%truç:#% d# #ntr"d" # %"-d"

 – IN # OUT 4H n%truç:#% Assembly  2"r" "0#%%"r 2ort"% d# EfS 2"r" 2#r1,r0o%

• Não %ão utl>"d"% n" $"or" d"% "2l0"ç:#%5

 – o% #nd#r#ço% d"% 2ort"% d# EfS ."r"$ 0on1or$# o $od#lo do PC  – , $"% 180l utl>"r o BIOS ou o DOS 2"r" 1unç:#% d# EfS

• P"r" "0#%%"r "% rotn"% d# EfS do BIOS ou DOS utl>"4%# " n%trução5 INT n/$#rod#nt#rru2ção

O&%#r."ção5

O 2ro!r"$" #$ 0ur%o , nt#rro$2do3 2"%%"ndo o 0ontrol# 2"r" o DOS3 =u# r#"l>" " o2#r"ção d# EfS # r#torn" o 0ontrol# 2"r" o 2ro!r"$"9 E+#$2lo5

(31)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Al!u$"% 1unç:#% DOS d# EfS

• @unção 5 Entr"d" d# u$ 0"r"0t#r %$2l#% 2#lo t#0l"do A0#%%o5 AX h 

R#%ult"do5 AL h 06d!o ASCII do 0"r"0t#r d!t"do no t#0l"do

@unção 5 E+&ção d# 0"r"0t#r %$2l#% no $ontor d# .-d#o A0#%%o5 AX h 

DL h 06d!o ASCII do 0"r"0t#r " #+&r  R#%ult"do5 #+&ção n" t#l" do $ontor 

E+#$2lo%5

"< Tr#0o 2"drão d# 2ro!r"$" 2"r" 2ro.d#n0"r " #ntr"d" d# u$ 0"r"0t#r ASCII 2#lo t#0l"do5

MO AX3 72r#2"r" 2"r" #ntr"r 0"r"0t#r 2#lo t#0l"do o 2ro0#%%"dor 7#%2#r" "t, =u# o u%u8ro d!t# o 0"r"0t#r d#%#e"do

INT  7"26% " d!t"ção3 0"r"0t#r ASCII #$ AL %# u$ 0"r"0t#r 7não4ASCII 1or d!t"do3 AL h )

(32)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Al!u$"% 1unç:#% DOS d# EfS

E+#$2lo%5

&< Tr#0o 2"drão d# 2ro!r"$" 2"r" 2ro.d#n0"r " %"-d" d# u$ 0"r"0t#r ASCII 2"r" o $ontor d# .-d#o5

MO AX3 72r#2"r" 2"r" #+&r 0"r"0t#r no $ontor  MO DL3]K] 7o 0"r"0t#r , K]

INT  7#+&# ;$ontor "2r#%#nt" K]<

7"26% " #+&ção3 o 0ur%or d" t#l" "."nç" 2"r" " 72r6+$" 2o%ção d" ln" ;%# e8 1or "tn!do o 1$ 7d" ln"3 ." 2"r" o n-0o d" 2r6+$" ln"<

O&%5 t"$&,$ %# 2od# #+&r 0"r"0t#r#% ASCII d# 0ontrol#5 C6d!o ASCII S-$&olo @unção

)g BEL #ell  ;%o$ d# &2<

)( BS #ac" $pace ;#%2"ço 2"r" tr8%< )Y XT %ab ;t"&ul"ção<

)A L@ Line eed  ;no." ln"<

(33)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Cr"ndo # rod"ndo u$ 2ro!r"$"

E%2#010"ção do 2ro!r"$" ECO DO TECLADO NA TELA5

 –

l#r u$ 0"r"0t#r do t#0l"do

 –

#+&r o 0"r"0t#r ldo n" 2r6+$" ln" d" t#l" do $ontor 

 –

r#torn"r "o SO

E%0r#.#ndo "% 2"rt#%

"< O 2ro!r"$" #%t$ul" o u%u8ro " nt#r"!r "2r#%#nt"ndo u$ K]5 MO AX3 71un0"o DOS 2"r" #+&r 0"r"0t#r 

MO DL3K 70"r"0t#r K INT X 7#+&r 

&< L#ndo o 0"r"0t#r t#0l"do 2#lo u%u8ro # %"l."ndo4o #$ nu$ r#!%tr"dor5 MO AX3 71un0"o DOS 2"r" l#tur" d# 0"r"0t#r 

INT X 70"r"0t#r # ldo #$ AL MO BL3AL 7%"l."ndo4o #$ BL

(34)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Cr"ndo # rod"ndo u$ 2ro!r"$" 4 0ontnu"ção

E%0r#.#ndo "% 2"rt#%

0< Mo.#ndo o 0ur%or d" t#l" 2"r" o n-0o d" 2r6+$" ln"5

MO AX3

71un0"o DOS 2"r" #+&r 0"r"0t#r 

MO DL3)DX 70"r"0t#r ASCII CRH 4 r#turn

INT X

7#+#0ut"ndo

MO DL3)AX 70"r"0t#r ASCII L@H 4 ln# 1##d

INT X

7#+#0ut"ndo

d< R#0u2#r"ndo o 0"r"0t#r ldo # #+&ndo4o5

MO DL3BL

7r#0u2#r"ndo o 0"r"0t#r %"l.o

INT X

7#+&r 

(35)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

O 2ro!r"$" ECO 0o$2l#to5

TITL P!"4#1: PR$!R%"% & '$ &$ T'L%&$ (% TL% ."$&L )"%LL .)T%'* 100+ .'$& "%I( PR$' , ,a-reentacao do -ro/-t 

"$ %+2 ,fncao -ara eiir caracter 

"$ &L ,caracter 

I(T 21+ ,eiir 

,entrada do caracter -eo tecado

"$ %+1 ,fncao -ara eitra de caracter 

I(T 21+ ,caracter e ido e/ %L

"$ L%L ,aandoo e/ L

,

,/oendo de in;a

"$ %+2 ,fncao -ara eiir caracter 

"$ &L0&+ ,caracter <'R=  retrn

I(T 21+ ,eectando

"$ &L0%+ ,caracter <LF=  ine feed

I(T 21+ ,eectando eiindo na ,tea o caracter ido: efeito

, de '$

"$ &LL ,rec-erando caracter ao

I(T 21+ ,eiir 

,retorno ao &$)

"$ %+4'+ ,fncao -ara aida

I(T 21+ ,aindo

"%I( (&P (& "%I(

(36)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Co$o o&t#r o 2ro!r"$" ECO9EE #+#0ut8.#l9

9 Edt# o 2ro!r"$ ECO utl>"ndo u$ #dtor d# t#+to %$2l#%3 0o$ %"-d" #$ t#+to ASCII9 Su!#%tão5 u%# o EDIT do DOS9 O "r=u.o ;t#+to ASCII< d#.# t#r "

#+t#n%ão 9 ASM

C5k H EDIT ECO9ASM #nt#rH

9 Rod# o 2ro!r"$" Mont"dor TASM ;Borl"nd<9 Co$o r#%ult"do3 "2"r#0# #$ %#u dr#t6ro d# tr"&"lo u$ "r=u.o ECO9OB

C5k H TASM ECO9 ASM #nt#rH

J9 Rod# o 2ro!r"$" Ln0"dor TLIN9 Co$o r#%ult"do3 "2"r#0# #$ %#u dr#t6ro d# tr"&"lo u$ "r=u.o ECO9EE9

C5k H TLIN ECO9OB #nt#rH

Q9 Rod# o 2ro!r"$" ECO9EE3 r#%2ond#ndo "o K] 0o$ u$" l#tr" 3 2or #+#$2lo9 C5k H ECO9EE #nt#rH

K 4 l#tr"  d!t"d" 2#lo u%u8ro  4 #0o d" l#tr"  "2"r#0# n" t#l"

C5k H 4 not# =u# o 0ontrol# r#torn" "o DOS

T#nt# 0o$ outr"% l#tr"% ou 2ro0ur# $od10"r o 2ro!r"$" 2"r" o&t#r outro% #1#to% 0o$ 0"r"0t#r#% d!t"do% no t#0l"do9

(37)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

M"% 1unç:#% DOS d# EfS

@unção QC5 T#r$n" o 2ro0#%%o 0orr#nt# # tr"n%1#r# 0ontrol# 2"r" o DOS A0#%%o5 AX h QC

R#%ult"do5 %"-d" 2"r" o DOS

@unção Y5 E+&ção d# string  d# 0"r"0t#r#% no $ontor d# .-d#o A0#%%o5 AX h Y

D h o11%#t do #nd#r#ço ond# 0o$#ç" o string  R#%ult"do5 string  #+&do

O&%5 o string  d# 0"r"0t#r#% d#.# t#r$n"r 0o$ o 0"r"0t#r ]3 =u# $"r0" o 1$ d" %#=uWn0" # não , #+&do9

P"r" #+&ção d# u$ string  d# 0"r"0t#r#% 8 do% 2ro&l#$"%5

"< DS n0"l$#nt# não #%t8 "2ont"ndo 2"r" o %#!$#nto d# d"do% do 2ro!r"$" r#0,$ n0"do ;DS "nd" "2ont" 2"r" "l!u$ %#!$#nto d# d"do% do DOS<7 &< d#.#4%# 0olo0"r #$ D o offset  do #nd#r#ço do string  =u# =u#r#$o% #+&r 

(38)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Co$o "2ont"r DS 2"r" o %#!$#nto d# d"do% do 2ro!r"$"

DATA

2"l".r" r#%#r."d" 2"r" o&t#r o n/$#ro do %#!$#nto d#

d"do% d#1ndo 2#l" dr#t." 9DATA3 =u# 0ont#$ "% ."r8.#% #

0on%t"nt#%9

E+#$2lo5

P"r" n0"l>"r 0orr#t"$#nt# DS 2"r" o 2ro!r"$" 0orr#nt#5

9DATA

999

9CODE

MO A3DATA 70olo0" o n/$9 do %#!$#nto d# d"do% #$ A

MO

DS3A

72o% DS não 2od# r#0#&#r DATA

7dr#t"$#nt#

O&%#r."ção5

 –

 O 2ro!r"$" Mont"dor tr"du> o no$# DATA 2#lo n/$#ro d#

%#!$#nto ond# %# #n0ontr"$ o% d"do% d#1ndo% 2#l"

dr#t." 9DATA9

(39)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Co$o 0olo0"r #$ D o

offset 

 do #nd#r#ço d# u$

string 

 " #+&r 

LEA d#%tno31ont#

 –

S!n10" Lo"d E11#0t.# Addr#%% 4H 0olo0" u$" 062" do

offset 

do #nd#r#ço d" 2o%ção d# $#$6r" 1ont# no r#!%tr"dor

d#%tno9

E+#$2lo5

9DATA

MENSAGEM

DB I lo.# ASSEMBLbV]

999

9CODE

LEA D3MENSAGEM

7D 0"rr#!"do 0o$ o

offset 

 d#

7MENSAGEM

O&%5 "26% #%t" o2#r"ção3 D 0ont#r8 o

offset 

 d" 2o%ção d# $#$6r"

(40)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Pro!r"$" 2"r" $2r$r u$ string  d#

0"r"0t#r#%5

TITLE PROG PARA IMPRESSAO DE STRING 9MODEL SMALL

9STAC ))X 9DATA

MSG DB ALOV Co$o .o0#% #%t"o ndoK 9CODE MAIN PROC 7 7n0"l>"ndo o r#!%tr"dor DS 7 MO A3DATA

MO DS3A 7%#!$#nto d"do% n0"l>"do

7

7o&t#ndo o11%#t 2o%ção $#$6r" d# M%! LEA D3MSG 7o11%#t #nd#r#ço ." 2"r" D

7#+&ndo " MENSAGEM 7

MO AX3Y 71un0"o DOS 2"r" #+&r 7%trn!

INT X 7#+&ndo 7

7r#torno "o DOS 7

MO AX3QCX 71un0"o DOS 2"r" %"d" INT X 7%"ndo

MAIN ENDP END MAIN

(41)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

E+#r0-0o5

Pro!r"$" d# 0on.#r%ão d# l#tr" $n/%0ul" 2"r" $"/%0ul"9

E%2#010"ção do 2ro!r"$"5

4 "2r#%#nt# "o u%u8ro u$" $#n%"!#$ do t2o5

'ntre com uma letra minuscula

4 l#r u$ 0"r"0t#r do t#0l"do ;não , n#0#%%8ro t#%t"r

%# , l#tr"<

4 "2r#%#nt# u$" %#!und" $#n%"!#$ do t2o5

'm maiuscula ela fica

4 "2r#%#nt# #$ %#!ud" " l#tr" 0on.#rtd"

4 r#torn"r "o SO

(42)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

$ re>itrador de inai?adore @FL%!)A

9 @l"!% d# St"tu% # @l"!% d# Control#

nd0" o #%t"do do $0ro2ro0#%%"dor "26% " #+#0ução d# 0"d"

n%trução7

0oneunto d# &t% nd.du"%3 0"d" =u"l nd0"ndo "l!u$" 2ro2r#d"d#7

%u&d.d#$4%# #$5 @l"!% d# E%t"do ;

status

< # @l"!% d# Control#9

Or!"n>"ção

 r#!%tr"dor d# * &t%

* @LAGS d# #%t"do

J @LAGS d# 0ontrol#

g &t% não utl>"do% ;%#$ 1unção<

F Q J   ) Y

(

g

* F

Q J

)

(43)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

F Q J   ) Y

(

g

* F

Q J

)

@l"!% d# #%t"do

$: o e/-re>o do

@l"!% d# Control#

 erB dictido Cnta/ente co/ o-eraDEe co/ arrays e interr-DEe.

O@ D@ I@

T@ S@ Z@

A@

P@

C@

No$#

S-$&olo

@unçãof0"r"0t#r-%t0"

'arr F7a>

'F

Indicador de G9ai:4/G

Parit F7a>

PF

Indicador de nH/ero P%R de 10. no 6te infer  

 %45i7iar 'arr

%F

Indicador de G9ai:4/G ara o era Ee. e/ 8'

(44)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

 O.#r1lo_ ;#rro d# tr"n%&ord"$#nto<

*erflo+ 

4H

o0orr# 2or=u# " r#2r#%#nt"ção do% n/$#ro% #%t8

l$t"d" " u$" 0#rt" 1"+"

`u"l=u#r o2#r"ção "rt$,t0" =u# t#n" 0o$o r#%ult"do u$ n/$#ro 1or"

d" 1"+" d# r#2r#%#nt"ção3 #%t"r8 2rodu>ndo

*erflo+ 

9

O r#%ult"do "r$">#n"do no r#!%tr"dor d#%tno #%t"r8 trun0"do # t#r83

(45)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

T#$4%# do% @l"!% =u# 2od#$ nd0"r

o*erflo+ 

5 C@ # O@

C@ 4H nd0" %# 8 u$ ."4u$ 2"r" 1or" do Bt M"% S!n10"t.o do n/$#ro

MSB ;

most significant bit 

<

O@ 4H t#%t" o .#$4u$ =u# 0#!" # o ."4u$ !#r"do no MSB5

%# !u"% ;) # ) ou  # < 4H O@ h )

(46)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

E+#$2lo% d# o2#r"ç:#% 0o$ ( &t%5

ADD AL3BL

7AL 0ont#$ @@ # BL 0ont#$ )

r#2r#%9 não4%n"l>"d"

r#2r#%9 %n"l>"d"

@@



&

FF

4

) a )))) )))&

a 

a

 )))) ))))& 4H

F* ;1or" d" 1"+"<

) ;O<

Lo!o "26% " #+#0ução d" n%trução5

C@ h  3 nd0"do #$ n#!rto7

(47)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

ADD AL3BL

7"$&o% AL # BL 0ont,$ g@

r#2r#%9 não4%n"l>"d"

r#2r#%9

%n"l>"d"

g@

)

&

g

a

g

g@

a ) &

a

g

a g

)  )& 4H

FQ ;O<

FQ ;1or"<

Lo!o "26% " #+#0ução d" n%trução5

C@ h ) 3 nd0"do #$ n#!rto7

O@ h  3 2o% no MSB o .#$4u$ , d1#r#nt# do ."4u$9

Port"nto5

r#2r#%#nt"ção não4%n"l>"d"

4H

@l"! C@ nd0"

o*erflo+ 

7

(48)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

J Co$o "% n%truç:#% "1#t"$ o% @l"!%

Al!u$"% n%truç:#%3 $#d"t"$#nt# "26% " %u" #+#0ução5

 – "1#t"$ todo% o% @l"!%7  – "1#t"$ "2#n"% "l!un%7  – não "1#t"$ n#nu$9

In%trução

@l"!% "1#t"do%

"$2

nen;4/

'+!

nen;4/

L%

nen;4/

(49)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

E+#$2lo%5

ADD A3B

7ond# "$&o% A # B ."l#$ @@@@

@@@@

    &

@@@@

a

    &

@@@E

   ) &

Co$o

r#%ult"do5

C@

h

A@

h

Z@

h

)

P@

h

)

S@

h

O@

h

)

INC AL

7ond# AL 0ont#$ @@

@@





&

)

a

&

))

))))

))))

&

Co$o r#%ult"do5

C@ h não "1#t"do

A@ h 

Z@ h 

(50)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

Q O 2ro!r"$" DEBUG

O 2ro!r"$" DEBUG do DOS 2ro.W u$ $#o d# d#2ur"ção d# 2ro!r"$"% #$

Ln!u"!#$ Mont"dor" # 2#r$t# "0o$2"n"r " $od10"ção do 0ont#/do d#

r#!%tr"dor#% ;n0lu%.# o d# @l"!%<9

E%0r#.#ndo u$ 2ro!r"$" d# t#%t# # .#r10"ção do% @l"!%5

TITLE PROGRAMA PARA ERI@ICACAO DOS @LAGS 7

7u%"do no DEBUG 2"r" .#r10"r o r#!%tr"dor#% d# @l"!% 7

9MODEL SMALL 9STAC ))X 9CODE

MO A3Q)))X 7A h Q))) 4 ."lor n0"l d# A

ADD A3A 7A h ())) ;Q))) a Q))) h ()))< SUB A3)@@@@X 7A h ()) ;())) 4 @@@@ h ())< NEG A 7A h g@@@ ;C d# ())<

INC A 7A h ())) ;g@@@ a ))) h ()))< MO AX3QCX

INT X 7%"d" 2"r" o DOS END

(51)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

A0#%%o "o DEBUG5

C5k DEBUG no$#do2ro!r"$"H9EE

"l!un% 0o$"ndo% d# ln" do DEBUG

4 r 4H r#!%t#r%3 2"r" #+&r o 0ont#/do do% r#!%tr"dor#%

4 t 4H tr"0#3 2"r" #+#0ut"r ln" 2or ln"

4 ! 4H !o3 2"r" r "t, o 1$

(52)

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E

LINGUAGEM DE MONTAGEM

Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção

Referências

Documentos relacionados

polimorfismo e amplitude de bases, gerados pelas reações de PCR para estudo da diversidade genética entre indivíduos de população de cambuizeiro (Myrciaria tenella O.

O tema em questão vem crescendo e é fruto de uma sociedade na qual os valores humanos vêm sendo ignorados. Este problema faz parte do nosso cotidiano, e que na grande

Outra estratégia utilizada para minimizar os efeitos do estresse por calor nas aves, é a adição de eletrólitos na dieta, pois o desempenho zootécnico dos frangos de corte pode ser

Foram as pertinências identificadas ao longo dos primeiros estudos mais as especificidades presentes na estrutura narrativa das diferentes edições de aniversário do telejornal Jornal

O ponto de equilíbrio é onde se encontra o nível necessário de produção e venda para cobrir os custos fixos totais e variáveis (BERTI, 2006). No ponto de equilíbrio também

Quanto à preferência dos fumadores em relação aos Restaurantes com mais de 100m 2 , 58,5% destes têm preferência pela secção de fumadores, no entanto, uma grande percentagem,

A animação sociocultural é um campo complexo em que se entrelaçam as atividades de ócio, as práticas culturais, as múltiplas instituições socioculturais, os animadores,

Estas áreas superficiais são resultantes da aplicação de modelos matemáticos de isotermas de adsorção e dessorção de gases à pressão de equilíbrio (P/Po) que foram