ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(*
Introdução à ln!u"!#$ "%%#$&l' do ()(*
A %nt"+# "%%#$&l' do ()(*
A %nt"+# "%%#$&l' do ()(*
••
A ln!u"!#$ $ont"dor" não , %#n%-.#l à l#tr" $"/%0ul" ou
A ln!u"!#$ $ont"dor" não , %#n%-.#l à l#tr" $"/%0ul" ou
$n/%0ul"
$n/%0ul"
••
P"r" 1"0lt"r " 0o$2r##n%ão do t#+to do
P"r" 1"0lt"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$#nt8ro%9
"r" 0o$#nt8ro%9
D#0l"r"ç:#% ;
D#0l"r"ç:#% ;
statementsstatements<5
<5
••
n%truç:#%3 =u# %ão 0on.#rtd"% #$ 06d!o d#
n%truç:#%3 =u# %ão 0on.#rtd"% #$ 06d!o d# $8=un"
$8=un"
••dr#t."%3 =u# n%tru#$ o $ont"dor " r#"l>"r
dr#t."%3 =u# n%tru#$ o $ont"dor " r#"l>"r "l!u$" t"r#1"
"l!u$" t"r#1"
#%2#0-10"5
#%2#0-10"5
–
–
"lo0"r #%2"ço d# $#$6r"
"lo0"r #%2"ço d# $#$6r" 2"r" ."r8.#%
2"r" ."r8.#%77
–ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
LINGUAGEM DE MONTAGEM
Introdução
Introdução à ln!u"!#
à ln!u"!#$ "%%#$&l'
$ "%%#$&l' do ()(*
do ()(* 4
4 Snt"+# ?
Snt"+# ?
0ontnu"ção
0ontnu"ção
••
@or$"to d# u$" d#0l"r"ção ;ln" d#
@or$"to d# u$" d#0l"r"ção ;ln" d# 2ro!r"$"<5
2ro!r"$"<5
No$#
No$#
Cod9
Cod9 o2#r9 O2#r
o2#r9 O2#r"ndo;%<
"ndo;%< 7Co$#nt8ro
7Co$#nt8ro
E+#$2lo5
E+#$2lo5
IIN
NIIC
CIIO
O5
5
M
MO
O
C
C
33FF
77n
n00""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 t2o #%2"çoH ou
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
LINGUAGEM DE MONTAGEM
Introdução
Introdução à ln!u"!#$
à ln!u"!#$ "%%#$&l'
"%%#$&l' do ()(*
do ()(* 4
4 Snt"+# ?
Snt"+# ?
0ontnu"ção
0ontnu"ção
••
C"$2o No$#5
C"$2o No$#5
––
Pod# %#r u$ r6tulo d# n%trução3 u$ no$# d# %u&4rotn"3 u
Pod# %#r u$ r6tulo d# n%trução3 u$ no$# d# %u&4rotn"3 u$
$
no$# d# ."r8.#l3 0ont#ndo d# "
no$# d# ."r8.#l3 0ont#ndo d# " J 0"r"0t#r#%3 n0"ndo 2or
J 0"r"0t#r#%3 n0"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$#% .8ldo%
.8ldo%
no$#%
no$#% n.8ldo%
n.8ldo%
L
LO
OO
OP
P5
5
D
DO
OIIS
S B
BIIT
TS
S
99T
TE
ES
ST
T
""&
&00
00""rr""00tt##rr
A
AQQ99FF
S
SO
OM
MA
AT
TO
OT
TA
AL
LQQ
JJJJ
))
))
O&%#r."ção5
O&%#r."ção5
O Mont"dor tr"du> o%
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
LINGUAGEM DE MONTAGEM
Introdução
Introdução à ln!u"!
à ln!u"!#$ "%%
#$ "%%#$&l'
#$&l' do ()(
do ()(* 4
* 4 Snt"+#
Snt"+#
? 0ontnu"ção
? 0ontnu"çã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 %$&6l0o ;$n#$n0o<
Cont#$ o 06d!o d#
o2#r"ção %$&6l0o ;$n#$n0o<
––
No 0"%o d# dr#t."%3 0ont#$ o 06d!o
No 0"%o d# dr#t."%3 0ont#$ o 06d!o d# 2%#udo4n%trução
d# 2%#udo4n%trução
E+#$2lo%5
E+#$2lo%5
n
n%%ttrru
uçç:
:##%%
d
drr##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
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
LINGUAGEM DE MONTAGEM
Introdução
Introdução à ln!u"!#$
à ln!u"!#$ "%%#$&l'
"%%#$&l' do ()(*
do ()(* 4
4 Snt"+# ?
Snt"+# ?
0ontnu"ção
0ontnu"çã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 A3A3dd 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#%tno5 r#!%tr"dor ou 2o%ção d# $#$6r" ond# o 2r$#ro3 o2#r"ndo d#%tno5 r#!%tr"dor ou 2o%ção d# $#$6r" ond# oo r#%ult"do %#r8 "r$">#n"do3 o 0ont#/do n0"l %#r8 $od10"do7
r#%ult"do %#r8 "r$">#n"do3 o 0ont#/do n0"l %#r8 $od10"do7 –
– o %#!undo3 o2#r"ndo 1ont#5 não $od10"do 2#l" n%trução7o %#!undo3 o2#r"ndo 1ont#5 não $od10"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# dr#t."%3 o 0"$2o d# o2#r"ndo% 0ont#$ $"% n1or$"ç:#% "0#r0"No 0"%o d# dr#t."%3 o 0"$2o d# o2#r"ndo% 0ont#$ $"% n1or$"ç:#% "0#r0" d" dr#t."9
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?
0ontnu"ção
•
C"$2o d# 0o$#nt8ro5
–
U$ 2onto4#4.-r!ul" ; 7 < $"r0" o n-0o d#%t# 0"$2o7
–O Mont"dor !nor" tudo "26% o #%t# $"r0"dor7
–
Co$#nt8ro% %ão o20on"%3 $"% $2r#%0nd-.#%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 C3) 7$o.$#nt" ) 2"r" C ;6&.oV<
MO C3) 7C 0ont" no9 d# 0"r"0t#r#%3 n0"l$#nt# ."l# )
7
;ln"% #$ &r"n0o5 %#2"r"ção<
7
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?
0ontnu"ção
•
@or$"to d# d"do%3 ."r8.#% # 0on%t"nt#%
–N/$#ro%5
E+#$2lo%5
&n8ro5 ))& ou ))B
d#0$"l5 *QJ ou *QJd ou *QJD3 )) , 0on%d#r"do
d#0$"l ;"u%Wn0" do B<3
(QD ;n/$#ro n#!"t.o<
#+"5 *QJ ou *QJX3 )@@@@ ;0o$#ç" 0o$ u$ d#0$"l # t#r$n"
0o$ <3 BQD
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?
0ontnu"ção
E+#$2lo% d# n/$#ro% l#!"%5
3JQ 0"r"0t#r #%tr"no ;.-r!ul"<
@@@@ não 0o$#ç" 2or n/$#ro d# ) " Y d1-0l d%tn!ur do no$# d# u$" ."r8.#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 #%0rto% d#ntro d# "%2"% %$2l#% ; < ou du2l"% ; [ <9
E+#$2lo%5
[ A\ ou A ] ol"3 0o$o ."] [EEMPLO\
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?
0ontnu"ção
• "r8.#%5 "r8.#l , u$ no$# %$&6l0o 2"r" u$ d"do "tu"l>8.#l 2#lo 2ro!r"$"9
– C"d" ."r8.#l 2o%%u u$ t2o # r#0#&# u$ #nd#r#ço d# $#$6r"7 – U%"4%# 2%#udo4n%truç:#% 2"r" d#1nr o t2o d" ."r8.#l7
– O Mont"dor "tr&u o #nd#r#ço d# $#$6r"9
PSEUDO4INSTRUÇÃO SIGINI@ICADO
DB d#1n# &'t# ;( &t%<
D^ d#1n# _ord ;* &t%3 &'t#% 0on%#0ut.o%<
DD d#1n# dou&l#_ord ; 2"l".r"%3 Q &'t#% 0on%#0ut.o%< D` d#1n# =u"d_ord ;Q 2"l".r"%3 ( &'t#% 0on%#0ut.o%< DT d#1n# t#n &'t#% ;) &'t#% 0on%#0ut.o%<
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção
• D#1nção d# ."r8.#% d# t2o &'t#5 No$# DB ."lor n0"l E+#$2lo%5 Al1" DB ) 7#=u."l# " )) A DB ) B DB )F) 7l#!"l3 2or =u#K BIT DB K 7não n0"l>"d"
• D#1nção d# ."r8.#% d# t2o _ord5 No$# D^ ."lorn0"l
E+#$2lo%5
^ORD D^ ) 7#=u."l# " )))) CONTA D^ )F) 7OV3 2or =u#K C D^ K 7não n0"l>"d"
^ORD D^ JQ 7&'t# &"+o JQ3 #nd#r#ço ^ORD 7&'t# "lto #nd#r#ço ^ORDa
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(*
4 Snt"+# ? 0ontnu"ção
• Array 5 %#=uWn0" d# &'t#% ou _ord% 0on%#0ut.o% n" $#$6r" – Ar$">#n"r d"do% r#l"0on"do%7
– Ar$">#n"r 0"r"0t#r#% ASCII or!"n>"do% ;#+5 t#+to<9 E+#$2lo%5
BbTEARRAb DB )3)3J)
^ORDARRAb D^ )))3J3)3)@@@@
• U$ array 2od# 0ont#r u$ string d# 0"r"0t#r#%3 %#ndo d#1ndo 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"
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção
• Co$&n"ção d# 0"r"0t#r#% # n/$#ro% nu$" $#%$" d#1nção5 MENSAGEM DB AloV]3 )A3)D3]]
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$# %$&6l0o 2"r" u$ d"do d# ."lor 0on%t"nt#3 =u# %#e" $uto utl>"do nu$ 2ro!r"$"9
– P"r" "tr&ur u$ no$# " u$" 0on%t"nt#3 utl>"4%# " 2%#udo4n%trução E`U ;equates 4H !u"l "< # " %nt"+#5
No$# E`U."lord"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`UD!t# %#u no$# 0o$2l#to]
MENSAGEM DB LINXA3L@3CR
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção
• Al!u$"% n%truç:#% n0"% – MO d#%tno3 1ont#
• U%"d" 2"r" tr"n%1#rr d"do% #ntr#5 – r#!%tr"dor # r#!%tr"dor
– r#!%tr"dor # u$" 2o%ção d# $#$6r"
– $o.#r u$ n/$#ro dr#t"$#nt# 2"r" u$ r#!%tr"dor ou 2o%ção d# $#$6r"
O2#r"ndo O2#r"ndo d#%tno 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 %$
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4
A #%trutur"
do 2ro!r"$"
•
Al!u$"% n%truç:#% n0"% 4 0ontnu"ção
E+#$2lo% d# n%truç:#% .8ld"%5
MO A3^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
7d#$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
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 A #%trutur" do 2ro!r"$" • Al!u$"% n%truç:#% n0"% ? 0ontnu"ção
• Gr"10"$#nt#5 %u2on" " n%trução MO A3^ORD
O&%5 2"r" " n%trução MO não , 2#r$tdo o2#r"r d# 2o%ção d# $#$6r" 2"r" 2o%ção d# $#$6r" dr#t"$#nt#3 2or $ot.o% t,0n0o% do ()(*9
Por #+#$2lo5
MO ^ORD3^ORD 7n%trução n.8ld" 7#%t" r#%trção , 0ontorn"d" 0o$o %#!u# 7
MO A3^ORD 72r$#ro o 0ont#/do d# ^ORD ." 2"r" A MO ^ORD3A 7d#2o%3 o 0ont#/do d# A , $o.do 2"r" "
72o%ção d# $#$6r" ^ORD Ant#% D#2o% A A )))* (@@@ ^ORD ^ORD (@@@ (@@@
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 A #%trutur" do 2ro!r"$"
•
Al!u$"% n%truç:#% n0"% ? 0ontnu"ção
–CXG d#%tno3 1ont#
• U%"d" 2"r" tro0"r d"do% ;no% do% %#ntdo%< #ntr#5 – r#!%tr"dor # r#!%tr"dor
– r#!%tr"dor # u$" 2o%ção d# $#$6r"
– não , 2#r$tdo tro0"% dr#t"% #ntr# 2o%ç:#% d# $#$6r"
O2#r"ndo O2#r"ndo d#%tno 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
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 A #%trutur" do 2ro!r"$"
•
Al!u$"% n%truç:#% n0"% ? 0ontnu"ção
•E+#$2lo% d# n%truç:#% .8ld"%5
CXG A3 ^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"10"$#nt#5 %u2on" " n%trução CXG A3B
Ant#% D#2o%
A B
)))* @@@@
A B
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 A #%trutur" do 2ro!r"$"
•
Al!u$"% n%truç:#% n0"% ? 0ontnu"ção
– ADD d#%tno31ont# – SUB d#%tno31ont#
• U%"d"% 2"r" "d0on"r ;ou %u&tr"r< d"do% #ntr#5 – r#!%tr"dor # r#!%tr"dor
– r#!%tr"dor # u$" 2o%ção d# $#$6r"
– "d0on"r ;ou %u&tr"r< u$ n/$#ro dr#t"$#nt# " ;d#< u$ r#!%tr"dor ou 2o%ção d# $#$6r"
O2#r"ndo O2#r"ndo d#%tno 1ont# R#!%tr"dor Po%ção d"do% $#$6r" R#!%tr"dor D"do% %$ %$ Po%ção %$ não $#$6r" Con%t"nt# %$ %$
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 A #%trutur" do 2ro!r"$"
•
Al!u$"% n%truç:#% n0"% ? 0ontnu"ção
•E+#$2lo% d# n%truç:#% .8ld"%5
ADD A3B 7%o$" o 0ont#/do d# B 0o$ A3 r#%ult"do #$ A
ADD A3^ORD 7%o$" o 0ont#/do d" 2o%ção d# $#$6r" ^ORD " A3 7 r#%ult"do #$ A
SUB ^ORD3A 7%u&tr" o 0ont#/do d# A do 0ont#/do d" 2o%ção d# 7 $#$6r" ^ORD3 r#%ult"do #$ ^ORD
SUB BL3F 7%u&tr" " =u"ntd"d# F d#0$"l do 0ont#/do d# BL
•
Gr"10"$#nt#5 %u2on" " n%trução ADD A3D
Ant#% D#2o%
A D
)))* )))A
A D
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 A #%trutur" do 2ro!r"$"
•
Al!u$"% n%truç:#% n0"% ? 0ontnu"ção
O&%#r."ç:#%5
4
ADD BbTE3BbTE
7n%trução n.8ld"
7#%t" r#%trção , 0ontorn"d" 0o$o %#!u#
7
MO AL3BbTE
72r$#ro o 0ont#/do d# BbTE ." 2"r" AL
ADD BbTE3AL
7d#2o%3 o 0ont#/do d# AL , %o$"do "o d"
72o%ção d# $#$6r" BbTE3 r#%ult"do 1n"l
7#$
BbTE
4
•
O r#%ult"do d# SUB3 %# 1or n#!"t.o3 #%t"r8 "r$">#n"do no
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?
0ontnu"ção
• INC d#%tno • DEC d#%tno
– U%"d"% 2"r" "d0on"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 7n0r#$#nt" o 0ont#/do d# C
INC ^ORD 7n0r#$#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"10"$#nt#5 %u2on" " n%trução INC BbTE
Ant#% D#2o%
BbTE BbTE
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?
0ontnu"ção
•
NEG d#%tno
–
U%"d" 2"r" %u&%ttur o 0ont#/do
destino2#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
7d#$3 no 0ont#/do d" 2o%ção d# $#$6r" ^ORD
Gr"10"$#nt#5 %u2on" " n%trução NEG B
Ant#% D#2o%
BbTE BbTE
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ?
0ontnu"ção
• Tr"dução d# #+2r#%%:#% $"t#$8t0"% #$ Ln!u"!#$ d# Alto N-.#l 2"r" Ln!u"!#$ Mont"dor"
E+#$2lo5 B h A ;#=u."l#nt# " B r#0#&# A<
MO A3A 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 A3B 7A 0ont#$ " ."r8.#l B SUB A3A 7A 0ont#$ B 4 A
SUB A3A 7A 0ont#$ B 4 A
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
A #%trutur" d# u$ 2ro!r"$" #$ Ln!u"!#$ Mont"dor"
i Mod#lo% d# $#$6r"
O t"$"no =u# o% %#!$#nto% d# 06d!o # d# d"do% d#.#$ t#r , #%2#010"do 2#lo $od#lo d# $#$6r" 2or $#o d" dr#t." 9MODEL9
Snt"+#5 9MODEL $od#lod#$#$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#nu$ "rr"' $"or =u# *Q &'t#% XUGE C6d!o #$ $"% d# %#!$#nto7
D"do% #$ $"% d# %#!$#nto7 Arr"'% $"or#% =u# *Q &'t#%
O&%#r."ção5 A dr#t." 9MODEL d#.# .r "nt#% d# =u"l=u#r d#1nção d# %#!$#nto9
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
A #%trutur" d# u$ 2ro!r"$" #$ Ln!u"!#$
Mont"dor"
•
S#!$#nto d# d"do%
–
Cont#$ " d#1nção # d#0l"r"ção d"% ."r8.#%9
–
Pod#4%# t"$&,$ 1">#r " "tr&ução d# %-$&olo% 2"r"
0on%t"nt#%9
Snt"+#5
9DATA
E+#$2lo5
9DATA
^ORD
D^
A(
BbTE
DB
F
MENSAGEMDB
I%to # u$" $#n%"!#$]
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
A #%trutur" d# u$ 2ro!r"$" #$ Ln!u"!#$
Mont"dor"
•
S#!$#nto d# 2l" ;
stac" segment<
–
R#%#r." u$ &lo0o d# 2o%ç:#% d# $#$6r" 0on%#0ut."% 2"r"
"r$">#n"r " 2l"9
–
D#.# t#r #%2"ço %u10#nt# 2"r" %u2ort"r " 2l" no %#u $8+$o
t"$"no9
Snt"+#5
9STAC t"$"no
E+#$2lo5
9STAC ))
7r#%#r." )) &'t#% 2"r" " 8r#" d# 2l"3 u$
7t"$"no r">o8.#l 2"r" " $"or" d"%
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
A #%trutur" d# u$ 2ro!r"$" #$ Ln!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%.
Snt"+#5 9CODE
E+#$2lo5 9CODE
no$# PROC
7
70or2o d" procedure 4H n%truç:#% 7
no$# ENDP 7
7outr"% procedures %#!u#$ "&"+o3 %# #+%tr#$ ond#5
no$# 4H d#nt10"ção d" procedure
PROC # ENDP 4H 2%#udo4n%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#1nr " procedure9
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
E+#$2lo d# u$" #%trutur" d# 2ro!r"$" "%%#$&l' 0o$2l#t" TITLE no$#do2ro!r"$"
9MODEL SMALL
9STAC)) 9DATA
7
7d#1nção do% d"do%5 ."r8.#% # 0on%t"nt#% 7 9CODE EEMPLO PROC 7 7%#=jWn0" d# n%truç:#% 7 EEMPLO ENDP 7
7%#!u# outr"% 2ro0#dur#% 7
END EEMPLO O&%5
– n" 2r$#r" ln" t#$4%# " dr#t." TITLE %#!ud" do no$# do 2ro!r"$"7 – n" /lt$" ln" t#$4%# " dr#t." END3 %#!ud" do no$# d" procedure
2rn02"l7
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção
• In%truç:#% d# #ntr"d" # %"-d"
– IN # OUT 4H n%truç:#% Assembly 2"r" "0#%%"r 2ort"% d# EfS 2"r" 2#r1,r0o%
• Não %ão utl>"d"% n" $"or" d"% "2l0"ç:#%5
– o% #nd#r#ço% d"% 2ort"% d# EfS ."r"$ 0on1or$# o $od#lo do PC – , $"% 180l utl>"r o BIOS ou o DOS 2"r" 1unç:#% d# EfS
• P"r" "0#%%"r "% rotn"% d# EfS do BIOS ou DOS utl>"4%# " n%trução5 INT n/$#rod#nt#rru2ção
O&%#r."ção5
O 2ro!r"$" #$ 0ur%o , nt#rro$2do3 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
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 $ontor 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 $ontor
E+#$2lo%5
"< Tr#0o 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%u8ro 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 )
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Al!u$"% 1unç:#% DOS d# EfS
E+#$2lo%5
&< Tr#0o 2"drão d# 2ro!r"$" 2"r" 2ro.d#n0"r " %"-d" d# u$ 0"r"0t#r ASCII 2"r" o $ontor d# .-d#o5
MO AX3 72r#2"r" 2"r" #+&r 0"r"0t#r no $ontor MO DL3]K] 7o 0"r"0t#r , K]
INT 7#+&# ;$ontor "2r#%#nt" K]<
7"26% " #+&ção3 o 0ur%or d" t#l" "."nç" 2"r" " 72r6+$" 2o%ção d" ln" ;%# e8 1or "tn!do o 1$ 7d" ln"3 ." 2"r" o n-0o d" 2r6+$" ln"<
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." ln"<
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Cr"ndo # rod"ndo u$ 2ro!r"$"
•
E%2#010"çã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 ldo n" 2r6+$" ln" d" t#l" do $ontor
–r#torn"r "o SO
•
E%0r#.#ndo "% 2"rt#%
"< O 2ro!r"$" #%t$ul" o u%u8ro " nt#r"!r "2r#%#nt"ndo u$ K]5 MO AX3 71un0"o DOS 2"r" #+&r 0"r"0t#r
MO DL3K 70"r"0t#r K INT X 7#+&r
&< L#ndo o 0"r"0t#r t#0l"do 2#lo u%u8ro # %"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 # ldo #$ AL MO BL3AL 7%"l."ndo4o #$ BL
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Cr"ndo # rod"ndo u$ 2ro!r"$" 4 0ontnu"ção
•
E%0r#.#ndo "% 2"rt#%
0< Mo.#ndo o 0ur%or d" t#l" 2"r" o n-0o d" 2r6+$" ln"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 ln# 1##d
INT X
7#+#0ut"ndo
d< R#0u2#r"ndo o 0"r"0t#r ldo # #+&ndo4o5
MO DL3BL
7r#0u2#r"ndo o 0"r"0t#r %"l.o
INT X
7#+&r
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%&$ (% TL% ."$&L )"%LL .)T%'* 100+ .'$& "%I( PR$' , ,a-reentacao do -ro/-t
"$ %+2 ,fncao -ara eiir caracter
"$ &L ,caracter
I(T 21+ ,eiir
,entrada do caracter -eo tecado
"$ %+1 ,fncao -ara eitra de caracter
I(T 21+ ,caracter e ido e/ %L
"$ L%L ,aandoo e/ L
,
,/oendo de in;a
"$ %+2 ,fncao -ara eiir caracter
"$ &L0&+ ,caracter <'R= retrn
I(T 21+ ,eectando
"$ &L0%+ ,caracter <LF= ine feed
I(T 21+ ,eectando eiindo na ,tea o caracter ido: efeito
, de '$
"$ &LL ,rec-erando caracter ao
I(T 21+ ,eiir
,retorno ao &$)
"$ %+4'+ ,fncao -ara aida
I(T 21+ ,aindo
"%I( (&P (& "%I(
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Co$o o&t#r o 2ro!r"$" ECO9EE #+#0ut8.#l9
9 Edt# o 2ro!r"$ ECO utl>"ndo u$ #dtor 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 dr#t6ro d# tr"&"lo u$ "r=u.o ECO9OB
C5k H TASM ECO9 ASM #nt#rH
J9 Rod# o 2ro!r"$" Ln0"dor TLIN9 Co$o r#%ult"do3 "2"r#0# #$ %#u dr#t6ro d# tr"&"lo u$ "r=u.o ECO9EE9
C5k H TLIN ECO9OB #nt#rH
Q9 Rod# o 2ro!r"$" ECO9EE3 r#%2ond#ndo "o K] 0o$ u$" l#tr" 3 2or #+#$2lo9 C5k H ECO9EE #nt#rH
K 4 l#tr" d!t"d" 2#lo u%u8ro 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# $od10"r o 2ro!r"$" 2"r" o&t#r outro% #1#to% 0o$ 0"r"0t#r#% d!t"do% no t#0l"do9
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
M"% 1unç:#% DOS d# EfS
@unção QC5 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 Y5 E+&ção d# string d# 0"r"0t#r#% no $ontor 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 n0"l$#nt# não #%t8 "2ont"ndo 2"r" o %#!$#nto d# d"do% do 2ro!r"$" r#0,$ n0"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
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#1ndo 2#l" dr#t." 9DATA3 =u# 0ont#$ "% ."r8.#% #
0on%t"nt#%9
E+#$2lo5
P"r" n0"l>"r 0orr#t"$#nt# DS 2"r" o 2ro!r"$" 0orr#nt#5
9DATA
999
9CODE
MO A3DATA 70olo0" o n/$9 do %#!$#nto d# d"do% #$ A
MO
DS3A
72o% DS não 2od# r#0#&#r DATA
7dr#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#1ndo% 2#l"
dr#t." 9DATA9
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#%tno31ont#
–
S!n10" Lo"d E11#0t.# Addr#%% 4H 0olo0" u$" 062" do
offsetdo #nd#r#ço d" 2o%ção d# $#$6r" 1ont# no r#!%tr"dor
d#%tno9
E+#$2lo5
9DATA
MENSAGEM
DB I lo.# ASSEMBLbV]
999
9CODE
LEA D3MENSAGEM
7D 0"rr#!"do 0o$ o
offsetd#
7MENSAGEM
O&%5 "26% #%t" o2#r"ção3 D 0ont#r8 o
offsetd" 2o%ção d# $#$6r"
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 7n0"l>"ndo o r#!%tr"dor DS 7 MO A3DATA
MO DS3A 7%#!$#nto d"do% n0"l>"do
7
7o&t#ndo o11%#t 2o%ção $#$6r" d# M%! LEA D3MSG 7o11%#t #nd#r#ço ." 2"r" D
7#+&ndo " MENSAGEM 7
MO AX3Y 71un0"o DOS 2"r" #+&r 7%trn!
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
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
E+#r0-0o5
•
Pro!r"$" d# 0on.#r%ão d# l#tr" $n/%0ul" 2"r" $"/%0ul"9
•
E%2#010"ção do 2ro!r"$"5
4 "2r#%#nt# "o u%u8ro u$" $#n%"!#$ do t2o5
'ntre com uma letra minuscula
4 l#r u$ 0"r"0t#r do t#0l"do ;não , n#0#%%8ro t#%t"r
%# , l#tr"<
4 "2r#%#nt# u$" %#!und" $#n%"!#$ do t2o5
'm maiuscula ela fica
4 "2r#%#nt# #$ %#!ud" " l#tr" 0on.#rtd"
4 r#torn"r "o SO
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção
$ re>itrador de inai?adore @FL%!)A
9 @l"!% d# St"tu% # @l"!% d# Control#
nd0" 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 nd0"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 utl>"do% ;%#$ 1unção<
F Q J ) Y
(
g
* F
Q J
)
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção
F Q J ) Y
(
g
* F
Q J
)
@l"!% d# #%t"do
$: o e/-re>o do
@l"!% d# Control#
erB dictido Cnta/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-%t0"
'arr F7a>
'F
Indicador de G9ai:4/G
Parit F7a>
PF
Indicador de nH/ero P%R de 10. no 6te infer
%45i7iar 'arr
%F
Indicador de G9ai:4/G ara o era Ee. e/ 8'
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"çã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 "rt$,t0" =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#%tno #%t"r8 trun0"do # t#r83
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção
T#$4%# do% @l"!% =u# 2od#$ nd0"r
o*erflo+5 C@ # O@
C@ 4H nd0" %# 8 u$ ."4u$ 2"r" 1or" do Bt M"% S!n10"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 )
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"çã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 nd0"do #$ n#!rto7
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"çã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 nd0"do #$ n#!rto7
O@ h 3 2o% no MSB o .#$4u$ , d1#r#nt# do ."4u$9
Port"nto5
r#2r#%#nt"ção não4%n"l>"d"
4H
@l"! C@ nd0"
o*erflo+7
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"çã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#nu$9
In%trução
@l"!% "1#t"do%
"$2
nen;4/
'+!
nen;4/
L%
nen;4/
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção
E+#$2lo%5
ADD A3B
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
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E
LINGUAGEM DE MONTAGEM
Introdução à ln!u"!#$ "%%#$&l' do ()(* 4 Snt"+# ? 0ontnu"ção
Q O 2ro!r"$" DEBUG
O 2ro!r"$" DEBUG do DOS 2ro.W u$ $#o d# d#2ur"ção d# 2ro!r"$"% #$
Ln!u"!#$ Mont"dor" # 2#r$t# "0o$2"n"r " $od10"ção do 0ont#/do d#
r#!%tr"dor#% ;n0lu%.# o d# @l"!%<9
E%0r#.#ndo u$ 2ro!r"$" d# t#%t# # .#r10"ção do% @l"!%5
TITLE PROGRAMA PARA ERI@ICACAO DOS @LAGS 7
7u%"do no DEBUG 2"r" .#r10"r o r#!%tr"dor#% d# @l"!% 7
9MODEL SMALL 9STAC ))X 9CODE
MO A3Q)))X 7A h Q))) 4 ."lor n0"l d# A
ADD A3A 7A h ())) ;Q))) a Q))) h ()))< SUB A3)@@@@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