Lập trình hợp ngữ 8051 - Chương 2 - Vi điều khiển 8051 Assembly - Pdf 30

ch"¬ng 2
!"#$%&'(#()"#'*+#, /#
#
01/#23'#$%4'*#, /1#
5%4'*#"(6'#'78#9(:'*#$;#'*(<3'#9=>#9?9#$(;'(#*(<#9(@'(#9A;#, /#B7#$%&'(#C78#9?9(#
DE#FG'*#BH<#9?9#IJ'(#KL'#*<M'#NOP#B7#QRR1#
2.1.1 C¸c thanh ghi.
5%4'*#STU#9?9#$(;'(#*(<#KV)9#FW'*#KX#IV>#9Y$#$(Z'*#$<'#$[\#$(]<^#'(+'*#$(Z'*#$<'#
'78#9_#$(X#I7#\`$#C8$a#F+#I<J>#96'#KV)9#DE#Ib#(4c9#I7#\`$#Kd;#9(e#Kf'#F+#I<J>#96'#
KV)9#'["1#T(6'#IH'#9?9#$(;'(#*(<#9A;#, /#I7#9?9#$(;'(#*(<#,#C<$1#5%4'*#, /#9(e#9_#
\`$#g<X>#F+#I<J>h# 4[<#,#C<$^#,#C<$#9A;#\`$#$(;'(#*(<#KV)9#$%&'(#C78#'(V#D;>h#
#
#
BH<#Ni2#I7#C<$#9_#*<?#$%d#9;4#'(Y$#Rj#9(4#Kf'# i2#I7#C<$#9_#*<?#$%d#$(Y"#'(Y$#R-1#
kNi2#l#N4D$#i<*m<9;'#C<$#B7# i2#l# a;%$#i<*'<m<9;'$#2<$n1#PH<#\`$#g<X>#F+#I<J>#,#C<$#
$(&#CY$#go#F+#I<J>#'74#IH'#(L'#,#C<$#Kp>#"(M<#KV)9#9(<;#$(7'(#9?9#g(:9#,#C<$#$%VH9#g(<#
KV)9#qE#Ib1#P&#9_#\`$#Dr#IV)'*#IH'#9?9#$(;'(#*(<#$%4'*#, /#$;#Ds#$!"#$%>'*#B74#\`$#
Dr#$(;'(#*(<#9Z'*#FG'*#9(>'*#Kc9#C<J$#$%4'*#9?9#9(VL'*#gf#$<f"1#tu8#$(;\#g(M4#"(G#
IG9#Q""a'F<q#Q1v#KX#C<f$#K68#KA#Bp#9?9#$(;'(#*(<#9A;#, /1#
H×nh 2.1:#;n#N`$#Dr#$(;'(#*(<#,#C<$#9A;#, /#
Cn#N`$#Dr#$(;'(#*(<#/w#C<$#9A;#, /#
S?9#$(;'(#*(<#KV)9#DE#FG'*#%`'*#%u<#'(Y$#9A;#, /#I7#Q#k$(;'(#*(<#$@9(#I>xn^#2^#y-#l#
yj^#RT5y#k94'#$%z#F+#I<J>n#B7#TS#kC`#Kf\#9(VL'*#$%&'(n1#5Y$#9M#9?9#F+#I<J>#$%3'#Kp>#
I7#$(;'(#*#(<#,#C<$#$%{#RT5y#B7#TS#I7#/w#C<$1#5(;'(#*(<#$@9(#I>x#Q#KV)9#DE#FG'*#9(4#
$Y$#9M#\|<#"(}"#$4?'#Dr#(|9#B7#IZl*@91#~X#(<X>#DE#FG'*#9?9#$(;'(#*(<#'78#$;#Ds#*<H<#
$(<J>#9(:'*#$%4'*#9?9#B@#FG#BH<#9?9#IJ'(#KL'#*<M'#I7#QRR#B7#NOP1#
2.1.2 LÖnh chuyÓn MOV.
•_<#\`$#9?9(#KL'#*<M'^#IJ'(#NOP#D;4#9(}"#F+#I<J>#${#\`$#Bd#$%@#'78#Kf'#\`$#B@#$%@#
g(?91#•_#9_#9:#"(?"#'(V#D;>h#
NOP## ;#~@9(^#'*>å';#D;4#9(}"#'*>å'#B74#K@9(#
D7


R6

R7

DPH

PC (program counter)

DPL

DPTR

PC

J'(#'78#'_<#STU#9(>8X'#k$%4'*#$(ự9#$f#I7#D;4#9(}"n#$4?'#(['*#'*>ồ'#B74#$4?'#(['*#
K@9(1#P@#FG#IJ'(#NOP#Q^#y-#D;4#9(}"#'`<#F>'*#$(;'(#*(<#y-#B74#$(;'(#*(<#Q1#
i;>#g(<#I3'(#'78#KV)9#$(ự9#(<J'#$(&#$(;'(#*(<#Q#Ds#9_#*<?#$%d#*<r'*#'(V#$(;'(#*(<#y-1#
J'(#NOP#g(Z'*#$?9#K`'*#$4?'#(['*#'*>ồ'1#~4['#9(VL'*#$%&'(#FVH<#Kâ8#K6>#$<3'#
I7#'["#$(;'(#*(<#Q#$H<#*<?#$%d# t#9I7#*<?#$%d# #ở#F['*#Dr#taqn#B7#D;>#K_#9(>8X'#*<?#
$%d#'78#q>;#9?9#$(;'(#*(<#g(?9#'(;>#C3'#$%4'*#STU1## V>#b#%ằ'*#FY>###$%4'*#IJ'(#
C?4#%ằ'*#K_#I7#\`$#*<?#$%d1#56\#q>;'#$%|'*#9A;#'_#Ds#KV)9#$%&'(#C78#'*;8#D;>#B@#FG#
'781#
MOV A, #55H; ; Nạp trí trị 55H vào thanh ghi A (A = 55H)
MOV R0, A ; Sao chép nội dung A vào R0 (bây giờ R0=A)
MOV R1, A ; Sao chép nội dung A và R1 (bây giờ R1=R0=A)
MOV R2, A ; Sao chép nội dung A và R2 (bây giờ R2=R1=R0=A)
MOV R3, #95H ; Nạp giá trị 95H vào thanh ghi R3 (R3 = 95H)
MOV A, R3 ; Sáo chép nội dung R3 vào A (bây giờ A = 95H)
#

$(&#96'#"(M<#9_#FY>###$%VH9#/jt#'(V#$(f#'781#NOP#Q^##/jt1#S6'#IV>#b#%ằ'*#
'f>#$(<f>#FY>###$%VH9#\`$#$(&#Ds#g(Z'*#*â8#Iỗ<#B&#()"#'*+#9(4#K_#I7#\`$#IJ'(#()"#
IJ1#5>8#'(<3'^#gf$#q>M#Ds#g(Z'*#K:'*#'(V#b#\>r'#9A;#'*V]<#I!"#$%&'(1#~# â8#Ds#I7#
\`$#Iỗ<#$(V]'*##(;8#*c"#Kr<#BH<#I!"#$%&'(#B<3'#\H<1#
2.1.3 Lệnh cộng ADD.
J'(#9`'*#QRR#9_#9?9#"(}"#'(V#D;>h#
QRR#;^#'*>ồ'## ;#S`'*#$4?'#(['*#'*>ồ'#B74#$(;'(#*(<#Q1#
J'(#9`'*#QRR#'_<#STU#9`'*#C8$a#'*>ồ'#B74#$(;'(#*(<#Q#B7#Kc$#gf$#q>M#$(;'(#*(<#
Q1#~X#9`'*#(;<#Dr#'(V#0.t#B7#v4t#$(&#\ỗ<#Dr#9_#$(X#9(>8X'#Kf'#\`$#$(;'(#*(<#B7#
D;>#K_#9`'*#I[<#BH<#'(;>#'(Vh#
MOV A, #25H ; Nạp giá trị 25H vào A
MOV R2, #34H ; Nạp giá trị 34H vào R2
ADD A, R2 ; Cộng R2 vào A và kết quả A = A + R2
#
5(ự9#(<J'#9(VL'*#$%&'(#$%3'#$;#KV)9#Q#=#.9t#kB&#0.t#+#v4t#=#.9tn#B7#y0#=##v4t^#
9(:#b#I7#'`<#FG'*#y0#g(Z'*#$(;8#Kổ<1#S(VL'*#$%&'(#$%3'#9_#$(X#B<f$#$(a4#'(<p>#9?9(#
"(G#$(>`9#B74#$(;'(#*(<#KV)9#DE#FG'*1#N`$#$%4'*#9?9(#B<f$#g(?9#9_#$(X#I7h#
MOV R5, #25H ; Nạp giá trị 25H vào thanh ghi R5
MOV R7, #34H ; Nạp giá trị 34H vào thanh ghi R7
MOV A, #0 ; Xoá thanh ghi A (A = 0)
ADD A, R5 ; Cộng nội dung R5 vào A (A = A + R5)
ADD A, R7 ; Cộng nội dung R7 vào A (A = A + R7 = 25H + 34H)
#
S(VL'*#$%&'(#$%3'#9_#gf$#q>M#$%4'*#Q# 7#.9t^#9_#%Y$#'(<p>#9?9(#KX#B<f$#9(VL'*#$%&'(#
*<r'*#'(V#B!81#N`$#9â>#(z<#9_#$(X#Kc$#%;#D;>#g(<#qa\#K4['#9(VL'*#$%&'(#$%3'#I7#I<J>#
9_#9ẩ'#9(>8X'#9M#(;<#F+#I<J>#B74#9?9#$(;'(#*(<#$%VH9#g(<#9`'*#9(:'*#BH<#'(;>#
g(Z'*?#Sâ>#$%M#I]<#I7#g(Z'*#96'1#tu8#qa\#K4['#9(VL'*#$%&'(#FVH<#Kâ8h#
MOV A, #25H ; Nạp giá trị thứ nhất vào thanh ghi A (A = 25H)
ADD A, #34H ; Cộng giá trị thứ hai là 34H vào A (A = 59H)
#

()"#'*+#"(M<#KV)9#Fd9(#%;#$(;'(#\u#\?8#Cằ'*#\`$#9(VL'*#$%&'(#KV)9#I7#$%&'(#()"#
'*+#k()"#Fd9(n1#t)"#'*+#KV)9#94<#'(V#I7#\`$#'*Z'*#'*+#C!9#$(Y"#B&#'_#*<;4#$<f"#$%ự9#
$<f"#BH<#9Y>#$%:9#C3'#$%4'*#9A;#STU1#~X#I!"#$%&'(#$%4'*#()"#'*+^#I!"#$%&'(#B<3'#"(M<#
C<f$#$Y$#9M#9?9#$(;'(#*(<#9A;#STU#B7#g@9(#$(VH9#9A;#9(:'*#9ũ'*#'(V#9?9#9(<#$<f$#
g(?91#
*78#';8^#$;#9_#$(X#DE#FG'*#'(<p>#'*Z'#'*+#I!"#$%&'(#g(?9#'(;>^#9(ẳ'*#(['#'(V#
2;D<9^#T;D9;I^#S^#S
++
^#J;B;#B7#BZ#Dr#'*Z'#'*+#g(?91#S?9#'*Z'#'*+#'78#KV)9#94<#I7#
'(V'*#'*Z'#'*+#C!9#9;4#B&#I!"#$%&'(#B<3'#g(Z'*#96'#"(M<#$VL'*#$?9#BH<#9?9#9(<#$<f$#
C3'#$%4'*#9A;#STU1#N`$#$%&'(#()"#Fd9(#KV)9#FW'*#KX#Fd9(#9(VL'*#$%&'(#()"#'*+#%;#
\u#\?8#9ò'#k9ò'#KZ<#g(<#9ũ'*#9ò'#KV)9#*|<#\7#Kr<#$V)'*#kOCja9$#S4Fan#(;8#\u#
IJ'(#O"94Fan^#9ò'#9?9#'*Z'#'*+#C!9#9;4#KV)9#Fd9(#$(7'(#9?9#'*Z'#'*+#\u#\?8#
Cằ'*#\`$#9(VL'*#$%&'(#*|<#I7#$%&'(#C<3'#Fd9(1#P@#FG^#KX#B<f$#\`$#9(VL'*#$%&'(#$%4'*#S#
$;#"(M<#DE#FG'*#\`$#$%&'(#C<3'#Fd9(#S#KX#Fd9(#9(VL'*#$%&'(#Bp#F['*#\u#\?81#2â8#*<]#
$;#q}$#F['*#$(=9#()"#'*+#9A;#, /#B7#DE#FG'*#$%&'(#()"#Fd9(#KX#$[4#%;#\`$#9(VL'*#
$%&'(#Dẵ'#D7'*#9([8#'*;8#KV)91#
2.2.1 Cấu trúc của hợp ngữ.
N`$#9(VL'*#$%&'(#()"#'*+#C;4#*ồ\#\`$#9(>ỗ<##9?9#Fò'*#IJ'(#()"#'*+1#N`$#IJ'(#()"#
'*+#9_#9(=;#\`$#${#*)<#'(H#k\'a\4'<9n#B7#$>8#$(a4#${'*#IJ'(#B7#D;>#'_#9_#\`$#(4c9#
(;<#$4?'#(['*1#S?9#$4?'#(['*#I7#9?9#F+#I<J>#96'#KV)9#$(;4#$?9#B7#9?9#${#*)<#'(H#I7#9?9#
IJ'(#Kr<#BH<#STU#'_<#'_#I7\#*&#BH<#9?9#F+#I<J>1#
ORG 0H ; Bắt đầu (origin) tại ngăn nhớ 0
MOV R5, #25H ; Nạp 25H vào R5
MOV R7, #34H ; Nạp 34H vào R7
MOV A, #0 ; Nạp 0 vào thanh ghi A
ADD A, R5 ; Cộng nôi dụng R5 vào A (A = A + R5)
ADD A, R7 ; Cộng nội dung R7 vào A (A = A + R7)
ADD A, #121H ; Cộng giá trị 12H vào A (A = A + 12H)
HERE: SJMP HERE ; ở lại trong vòng lặp này

KV)9#Fd9(#%;#\u#\?8#k\u#I3'(n#9(4#STU#$(ù9#(<J'1#5%4'*#9(VL'*#$%&'(#01/#
9?9#IJ'(#OyG#B7# E•R#I7#9?9#9(e#IJ'(#k\`$#Dr#()"#'*+#9A;#, /#DE#FG'*#
F['*#1OyG#B7#1E•Rn1#tu8#K|9#q>8#Kd'(#9G#$(X#9A;#()"#'*+#$;#DE#FG'*1#
v1#S(VL'*#9(:#*<M<#I>Z'#"(M<#C¾$#K6>#C»'*#FY>#9(Y\#"(È8#k;n1#S?9#9(:#*<M<#9_#$(X#C¾$#
K6>#ë#K6>#Fß'*#(4c9#*<+;#Fß'*1#t)"#'*+#
Cz#q>;#kI7\#'*Ln#9?9#9(:#*<M<#'(V'*#9(:'*#
I[<#%Y$#96'#$(<f$#Kr<#BH<#I!"#$%&'(#B<3'1#Nc9#
FW#9?9#9(:#*<M<#I7#$>o#9(|'^#g(Z'*#C¾$#C>`9#
'(V'*#$;#'3'#FW'*#9(:'*#KX#\Z#$M#9(VL'*#
$%&'(#KX#*<:"#9(4#'*V]<#g(?9#K|9#B7#(<X>#
9(VL'*#$%&'(#FÔ#F7'*#(L'1#
41# V>#b#Kf'#'(u'#tEyE#$%4'*#$%V]'*#'(u'#
9A;#9(VL'*#$%&'(#01/1#N`$#'(u'#CY$#go#
$(;\#9(<f>#Kf'#\`$#IJ'(#"(M<#9_#FY>#(;<#
9(Y\#khn#K='*#ë#D;>1#5%4'*#9©>#IJ'(#'(M8#
'*¾'#iJNT#$(&#, /#KV)9#%;#IJ'(#ë#I[<#
$%4'*#Bß'*#Ic"#'78#BZ#(['1#•f>#(J#$(r'*#
9A;#9(:'*#$;#9_#\`$#9(VL'*#$%&'(#*<?\#D?$#
$(&#$;g(Z'*#96'#Fß'*#IJ'(#'78#B7#'_#9_#$(X#
KV)9#q4?#K<#%;#g(z<#9(VL'*#$%&'(1#
01v#t)"#Fd9(#B7#9([8#\`$#9(VL'*#
$%&'(#, /1#
•(V#B!8#9Y>#$%:9#9A;#\`$#9(VL'*#$%&'(#()"#
'*+#$;#Ku#KV)9#C<f$^#9©>#(z<#Kc$#%;#I7#9(VL'*#
EDITOR

PRAGRAM

ASSEMBLE
R

%;#$J"#\u#QiSII1#~r<#BH<#'(<p>#$%&'(#()"#'*+#$(&#9?9#$3'#$J"#$>â'#$(a4#9?9#q>8#VH9#
$(V]'*#IJ#9A#ROi^#'(V'*#"(6'#\ở#%`'*#9A;#9?9#$J"#'*>ồ'#"(M<#I7#;D\#(;8#D%9#
$>o#$(a4#$%&'(#()"#'*+#\7#$;#DE#FG'*1#
01#5J"#'*>ồ'#9_#"(6'#\ở#%`'*#;D\#9(=;#\u#9(VL'*#$%&'(#KV)9#$[4#%;#ở#CVH9#/#KV)9#
'["#B74#$%&'(#()"#Fd9(#9A;#, /1#5%&'(#()"#Fd9(#9(>8X'#9?9#IJ'(#%;#\u#\?81#5%&'(#
()"#Fd9(#Ds#$[4#%;#\`$#$J"#Kr<#$V)'*#B7#\`$#$J"#I<J$#g3#BH<#9?9#$(7'(#"(6'#\ở#%`'*#
4Cj#B7#ID$#$VL'*#='*1#
v1#S?9#$%&'(#()"#Fd9(#83>#96>#\`$#CVH9#$(=#C;#*|<#I7#I<3'#gf$1#S(VL'*#$%&'(#I<3'#gf$#IY8#
\`$#(4c9#'(<p>#$J"#Kr<#$V)'*#B7#$[4#%;#\`$#$J"#Kr<#$V)'*#$>8J$#Kr<#BH<#$(7'(#"(6'#
\ở#%`'*#;CD1#5J"#;CD#'78#KV)9#DE#FG'*#Cở<#$(W'*#9(=;#9A;#, /#9_#\`$#
9(VL'*#$%&'(#*<?\#D?$1#
41# Kf#D;>#K_#$J"#;CD#KV)9#'["#B74#\`$#9(VL'*#$%&'(#KV)9#*|<#I7#-t#k9(>8X'#Kr<#
$V)'*#4Cja9$#Bp#F['*#Dr#taqn#KX#$[4#%;#\`$#$J"#BH<#K>Z<#\ở#%`'*#taq#9_#$(X#'["#
$r$#B74#$%4'*#yON1#S(VL'*#$%&'(#'78#9_#$%4'*#$Y$#9M#\|<#$%&'(#()"#'*+#9A;#, /#
9?9#$%&'(#()"#'*+#Fự;#$%3'#W<'F4wD#(<J'#';8#gf$#()"#9?9#CVH9#0#Kf'#4#B74#$(7'(#
\`$#CVH91#
Hình 2.2:#S?9#CVH9#KX#$[4#%;#\`$#9(VL'*#$%&'(1#
2.3.1 Nói thêm về các tệp .asm và .object.
5J"#1;D\#9ũ'*#KV)9##*|<#I7#$J"#'*>ồ'#B7#9(@'(#B&#Ib#F4#'78#\7#\`$#Dr#$%&'(#()"#
'*+#Kò<#(z<#$J"#'78#"(M<#9_#\`$#"(6'#\ở#%`'*#D%9#${#9(+#D4>%9a#I7#'*>ồ'1#tu8#
g<X\#$%;#()"#'*+#, /#\7#$;#DE#FG'*#qa\#'_#9_#Kò<#(z<#'(V#B!8#g(Z'*?#(V#$;#'_<#
$%VH9#Kâ8#$J"#'78#KV)9#$[4#%;#'(]#\`$#$%&'(#C<3'#$!"#9(ẳ'*#(['#'(V#EF<$#9A;#ROi#
(4c9#4$a";F#9A;#W<'F4wD1#t)"#'*+#9A;#, /#9(>8X'#Kổ<#9?9#$J"#()"#'*+#$%4'*#
$J"#1;D\#$(7'(#'*Z'#'*+#\u#\?8#B7#9>'*#9Y"#$J"#Kr<#$V)'*#14Cja9$1#*47<#B<J9#$[4#%;#
$J"#Kr<#$V)'*#$%&'(#()"#'*+#9ũ'*#9(4#%;#$J"#I<J$#g3#ID$#k <D$#m<Ian1#
2.3.2 Tệp liệt kê .lst.
5J"#I<J$#g3#I7#\`$#$>o#9(|'^#'_#%Y$#(+>#@9(#9(4#I!"#$%&'(#B<3'#B&#'_#I<J$#g3#$Y$#9M#\|<#
\u#IJ'(#B7#Kd;#9(e#9ũ'*#'(V#$Y$#9M#9?9#Iỗ<#\7#$%&'(#()"#'*+#"(?$#(<J'#%;1#(<p>#$%&'(#
()"#'*+#*<M#$(<f$#%ằ'*^#$J"#I<J$#g3#I7#g(Z'*#96'#$(<f$#$%{#g(<#$;#C?4#%ằ'*#$;#\>r'#$[4#
%;#'_1#5J"#'78#9_#$(X#KV)9#$%>8#9!"#Cằ'*#\`$#$%&'(#C<3'#Fd9(#'(V#EF<$#9A;#ROi#(4c9#

I7#$;#9Y"#K<J'#?"#P
99
#Kf'#9(â'#yEiE5#'(V#Ds#$%&'(#C78#ở#9(VL'*#41#t;8#'_<#9?9(#
g(?9^#g(<#, /#KV)9#9Y"#'*>ồ'#$(&#C`#Kf\#9(VL'*#$%&'(#9_#*<?#$%d# 1#~<p>#'78#9_#
'*(ĩ;#I7#'_#9(]#\u#IJ'(#K6>#$<3'#KV)9#IV>#ở#Kd;#9(e;#yON# t1#P&#Ib#F4#'78#\7#
$%4'*#Bd#$%@#'(H# t#9A;#C`#'(ở#yON#9(VL'*#$%&'(#B&#Kâ8#I7#'L<#\7#'_#$&\#IJ'(#
K6>#$<3'#g(<#C!$#'*>ồ'1#S(:'*#$;#K[$#KV)9#K<p>#'78#Cằ'*#9â>#IJ'(#OyG#$%4'*#
9(VL'*#$%&'(#'*>ồ'#'(V#Ku#$%&'(#C78#$%VH9#Kâ81#RVH<#Kâ8#I7#(4[$#K`'*#${'*#CVH9#9A;#
C`#Kf\#9(VL'*#$%&'(#$%4'*#q:;#$%&'(#'["#B7#$(ự9#$(<#\`$#9(VL'*#$%&'(#\ẫ>1#
2.4.3 Đặt mã vào ROM ch ơng trình.
~X#(<X>#$r$#(L'#B;<#$%ò#9A;#C`#Kf\#9(VL'*#$%&'(#$%4'*#q>?#$%&'(#'["#B7#$(ự9#$(<#\`$#
9(VL'*#$%&'(^#$;#g(M4#D?$#\`$#(4[$#K`'*#9A;#C`#Kf\#9(VL'*#$%&'(#g(<#\ỗ<#IJ'(#KV)9#
'["#B7#$(ự9#$(<1#5%VH9#(f$#$;#g(M4#D?$#\`$#I6'#'+;#$J"#I<J$#g3#9A;#9(VL'*#$%&'(#\ẫ>#B7#
9?9(#Kc$#\u#B74#yON#9(VL'*#$%&'(#, /#'(V#$(f#'74?#(V#$;#9_#$(X#$(Y8^#\u#IJ'(#
B7#$4?'#(['*#Kr<#BH<#\ỗ<#IJ'(#KV)9#I<J$#g3#ở#C3'#$%?<#9A;#IJ'(#I<J$#g31#
S(VL'*#$%&'(#01/h#P@#FG#\ẫ>#Bp#\`$#9(VL'*#$%&'(#()"#'*+1#
S(VL'*#$%&'(#01/#9(4#$%3'#Kâ8#I7#\`$#9(>ỗ<#9?9#9â>#IJ'(#(4c9#9?9#Fò'*#IJ'(#KV)9#
B<f$#(4c9#Cằ'*#9?9#IJ'(#()"#'*+#'(V#QRR#B7#NOP#(4c9#Cằ'*#9?9#9â>#IJ'(#KV)9#*|<#
I7#9?9#9(e#Fẫ'1#5%4'*#g(<#9?9#IJ'(#()"#'*+#$(&#'_<#STU#"(M<#I7\#*&#$(&#9?9#9(e#IJ'(#
k(;8#9ò'#*|<#I7#*<M#IJ'(n#$(&#KV;#%;#9?9#9(e#IJ'(#9(4#()"#'*+1#P@#FG^#$%4'*#9(VL'*#
$%&'(#01/#$(&#9?9#IJ'(#QRR#B7#NOP#I7#9?9#IJ'(#Kf'#STU^#9ò'#OyG#B7#ER#I7#9?9#
9(e#IJ'(#Kr<#BH<#()"#'*+1#OyG#'_<#()"#'*+#Kc$#\u#IJ'(#$[<#'*ă'#'(H#-#B7#ER#$(&#
C?4#9(4#()"#'*+#C<f$#gf$#$(:9#\u#'*>ồ'1#t;8#'_<#9?9(#g(?9#\`$#9(e#IJ'(#KX#Cắ$#K6>#
B7#9(e#IJ'(#$(=#(;<#KX#gf$#$(:9#9(VL'*#$%&'(1#
SY>#$%:9#9A;#\`$#IJ'(#()"#'*+#9_#4#$%V]'*#'(V#D;>h#
['(u'h]### [${#*)<#'(H]# [9?9#$4?'#(['*]# [;#9(:#*<M<]#
S?9#$%V]'*#$%4'*#FY>#'*4c9#B>Z'*#I7#$>o#9(|'#B7#g(Z'*#"(M<#Fò'*#IJ'(#'74#9ũ'*#9_#
9(:'*1#S?9#FY>#'*4c9#B>Z'*#g(Z'*#KV)9#B<f$#B741#PH<#F['*#$(=9#$%3'#Kâ8#96'#IV>#b#
9?9#K<X\#D;>h#
5%V]'*#'(u'#9(4#"(}"#9(VL'*#$%&'(#$(;\#9(<f>#Kf'#\`$#Fß'*#IJ'(#C»'*#$3'1#•_#

#$(&#\u#IJ'(#B7#$4?'#(['*#KV)9#KV;#B74#9?9#Bd#$%@#'(H#
yON#C¾$#K6>#${#Kd;#9(e# #'(V#CM'*#I<J$#g3#FVH<#K©81#
#
§Þa chØ ROM Ng«n ng÷ m¸y Hîp ng÷
0000 7D25 MOV R5, #25H
0002 7F34 MOV R7, #34H
0004 7400 MOV A, #0
0006 2D ADD A, R5
0007 2F ADD A, R7
0008 2412 ADD A, #12H
000A 80EF HERE: SJMP HERE
#
2M'*#'`<#F>'*#yON#9A;#9(VL'*#$%&'(#01/1#
2M'*#I<J$#g3#9(e#%;#Kd;#9(e# #9(=;#\u#jR#I7#\u#IJ'(#KX#9(>8X'#\`$#*<?#$%d#B74#
$(;'(#*(<#y.#B7#Kd;#9(e# /#9(=;#$4?'#(['*#kë#K©8#I7#*<?#$%d#0.4n#96'#KV)9#9(>8X'#
B74#y.1#R4#B!8^#IJ'(#“NOP#y.^##0.t”#9_#\u#I7#“jR0.”#$%4'*#K_#jR#I7#\u#IJ'(^#
§Þa chØ M· lÖnh
0000 7D
0001 25
0002 F7
0003 34
0004 74
0005 00
0006 2D
0007 2F
0008 24
0009 12
000A 80
000B FE
#

'_<#I7##,wn#*|<#C`#Kf\#I7#94'#$%z#IJ'(#kI'D$%>9$<4'#T4<'$a%n1#
2.4.5 Bản đồ nhớ ROM trong họ 8051.
(V#$;#Ku#$(Y8#ở#9(VL'*#$%VH9^#\`$#Dr#$(7'(#B<3'#(|#, /#9(e#9_#4g#C8$a#C`#'(H#
yON#$%3'#9(@"#kB@#FG#,j./^#Q5#,9./n#B7#\`$#Dr#g(?9#'(V#Q5#,9./#9_#,g#C8$a#
yON^#Ri# lv0#9A;#R;II;D#ia\<94'F>9$4%#9_#v0g#C8$a#yON#$%3'#9(@"1#R;II;D#
ia\<94'F>9$4%#9ũ'*#9_#\4$|#, /#BH<#yON#$%3'#9(@"#I7#w4g#C8$a1#~<X\#96'#'(H#I7#
g(Z'*#9_#$(7'(#B<3'#'74#9A;#(|#, /#9_#$(X#$%>8#9!"#KV)9#(L'#w4g#C8$a#\u#IJ'(#B&#
C`#Kf\#9(VL'*#$%&'(#9A;#, /#I7#/w#C<$#kFM<#Kd;#9(e#${# #Kf'#FFFFtn1#S6'#"(M<#
*(<#'(H#I7#IJ'(#K6>#$<3'#9A;#yON#9(VL'*#$%&'(#Kp>#Kc$#ở# ^#9ò'#IJ'(#9>r<#9W'*#
"(G#$(>`9#B74#F>'*#IV)'*#yON#$%3'#9(@"#9A;#\ỗ<#$(7'(#B<3'#(|#, /1#5%4'*#Dr#9?9#
$(7'(#B<3'#(|#, /#$(&#,j./#B7#Q5#,9./#9_#4g#C8$a#yON#$%3'#9(@"1#2`#'(H#yON#
$%3'#9(@"#'78#9_#9?9#Kd;#9(e#${# #Kf'#-FFFt1#R4#B!8^#'*ă'#'(H#K6>#$<3'#9_#Kd;#
9(e# #B7#'*ă'#'(H#9>r<#9W'*#9_#Kd;#9(e;#-FFFt1#tu8#q}$#B@#FG#01/1#
Ví dụ 2.1:
5&\#Kd;#9(e#C`#'(H#yON#9A;#\ỗ<#$(7'(#B<3'#(|#, /#D;>#Kâ81#
;n#Q5#,9./#k(4c9#,j./n#BH<#4g#C8$a#
Cn#Ri# lv0#BH<#v0g#C8$a#
Lời giải:
;n#PH<#4g#C8$a#9A;#g(Z'*#*<;'#'(H#yON#$%3'#9(@"#$;#9_#4-9w#C8$a#Cằ'*#/ t#ở#F['*#
taq#k4##/-04#=#4-9w#(;8#/ #ở#F['*#taqn1#2`#'(H#'78#KV)9#qắ"#qf"#$%4'*#9?9#
'*ă'#'(H#${# #Kf'#-FFFFt1# V>#b#-#I>Z'#I7#'*ă'#'(H#K6>#$<3'1#
Cn#PH<#v0g#C8$a#'(H#$;#9_#v01jw,#C8$a#kv0##/-04n1#S(>8X'#Kổ<#v01jw,#Bp#Dr#taq#$;#
'(!'#KV)9#*<?#$%d#, t1#R4#B!8^#g(Z'*#*<;'#'(H#I7#FM<#${# #Kf'#jFFFt1#
#
#
#
#
#
#
#

DATA3: DB 39H ; Số dạng Hex
ORG 510H
DATA4: DB 2591 ; Các số ASCII
ORG 518H
DATA5 DB My name is Joe ; Các ký tự ASCII
byte

byte

byte

0000

0FFF

1FFF

7FFF

0000

0000

8751

AT89C51
#
8752

AT89C52

'*+#Ds#$(;8#Kổ<#$Y$#9M#\|<#I6'#q>Y$#(<J'#9A;#'_#I7#$&\#$47'#C`#9(VL'*#$%&'(#B7#
*ắ'*#$&\#\|<#I6'#q>Y$#(<J'1#
v1#S(e#IJ'(#ERh#N`$#IJ'(#q>;'#$%|'*#g(?9#I7#9(e#IJ'(#ER1#_#C?4#9(4#$%&'(#
()"#'*+#gf$#$(:9#9A;#$J"#'*>ồ'#;D\#9(e#IJ'(#ER#I7#Fò'*#9>r<#9W'*#9A;#
9(VL'*#$%&'(#, /#9_##'*(ĩ;#I7#$%4'*#\u#'*>ồ'#$(&#\|<#$(=#D;>#9(e#IJ'(#ER#
KX#Cd#$%&'(#()"#'*+#Cz#q>;1#N`$#Dr#$%&'(#()"#'*+#DE#FG'*#1ER#9_#FY>#9(Y\#
K='*#$%VH9#$(;8#9(4#ER1#
2.5.4 Các quy định đố với nhãn trong hợp ngữ.
2ằ'*#9?9(#9(|'#9?9#$3'#'(u'#9_#'*(ĩ;#I7#\`$#I!"#$%&'(#B<3'#9_#$(X#I7\#9(4#9(VL'*#
$%&'(#Fễ#K|9#B7#Fễ#CM4#$%&#(L'^#9_#\`$#Dr#q>8#Kd'(#\7#9?9#$3'#'(u'#"(M<#$>â'#$(a41#
5(=#'(Y$#I7#\ỗ<#$3'#'(u'#"(M<#$(r'*#'(Y$^#9?9#$3'#KV)9#DE#FG'*#I7\#'(u'#$%4'*#()"#
'*+#*ồ\#9?9#9(+#9?<#B<f$#(4;#B7#B<f$#$(V]'*^#9?9#Dr#${#-#Kf'#9#B7#9?9#FY>#Kc9#C<J$#
'(Vh#FY>#(z<#k?n^#FY>#kn^#FY>#*[9(#FVH<#k_n^#FY>#KZ#I7#k$n#B7#FY>#9(>#go#k1n1#Kb#$ự#
K6>#$<3'#9A;#'(u'#"(M<#I7#\`$#9(+#9?<1#t;8#'_<#9?9(#g(?9#I7#'_#g(Z'*#$(X#I7#Dr#taq1#
Nỗ<#$%&'(#()"#'*+#9_#\`$#Dr#${#Fự#$%+#I7#9?9#${#*)<#'(H#9(4#9?9#IJ'(#\7#g(Z'*#KV)9#
FW'*#KX#I7\#'(u'#$%4'*#9(VL'*#$%&'(1#P@#FG#'(V#NOP#B7#QRR1#23'#9['(#9?9#
${#*)<#'(H#9ò'#9_#\`$#Dr#$ự#Fự#$%+#g(?9^#(u8#g<X\#$%;#CM'#I<J$#g3#9?9#${#Fự#"(ò'*#9A;#
()"#'*+#$;#K;'*#DE#FG'*1#
01w#S?9#C<$#9]#B7#$(;'(#*(<#Kc9#CJ$#TiW#9A;#, /1#
Sũ'*#'(V#9?9#C`#B<#qE#Ib#g(?9^#, /#9_#\`$#$(;'(#*(<#9]#KX#C?4#9?9#K<p>#g<J'#Dr#
(|9#'(V#C<$#'(H1#5(;'(#*(<#9]#$%4'*#, /#KV)9#*|<#I7#$(;'(#*(<#${#$%['*#$(?<#9(VL'*#
$%&'(#TiW1#5%4'*#"(6'#'78#B7#KV;#%;#\`$#Dr#B@#FG#Bp#9?9(#$(;8#Kổ<#9(:'*1#
2.6.1 Thanh ghi từ trạng thái ch ơng trình PSW.
5(;'(#*(<#TiW#I7#$(;'(#*(<#,#C<$1#_#9ũ'*#9ò'#KV)9#94<#'(V#I7#$(;'(#*(<#9]1#Nc9#
FW#$(;'(#*(<#TiW#%`'*#,#C<$#'(V'*#9(e#9_#w#C<$#KV)9#, /#DE#FG'*1#t;<#C<$#9(V;#
FW'*#I7#9?9#9]#9(#'*V]<#FW'*#Kd'(#'*(ĩ;1#2r'#$%4'*#Dr#9?9#9]#KV)9#*|<#I7#9?9#9]#9_#
K<p>#g<J'^#9_#'*(ĩ;#I7#9(:'*#C?4#\`$#Dr#K<p>#g<J'#F4#gf$#q>M#9A;#\`$#IJ'(#B{;#KV)9#
$(ự9#(<J'1#2r'#9]#'78#I7#9]#'(H#SY#k9;%%8n^#9]#QS#k;>q<I<;%8#9;%8n^#9]#9(ẵ'#Iẻ#T#
k";%<$8n#B7#9]#$%7'#OP#k4Ba%mI4wn1#
(V#'(&'#$(Y8#${#(&'(#014#$(&#9?9#C<$#TiW1v#B7#TiW14#KV)9#*?'#'(V#yi-#B7#yi/#B7#

Dr#Iẻ#9?9#C<$#\`$1#
41#S]#9(7'#OPh#S]#'78#KV)9#$(<f$#I!"#\ỗ<#g(<#gf$#q>M#9A;#\`$#"(}"#$@'(#Dr#9_#FY>#q>?#
IH'#$[4#%;#C<$#C!9#9;4#I7\#$%7'#C<$#FY>1#(&'#9(>'*#9]#'(H#KV)9#FW'*#KX#"(?$#(<J'#
Iỗ<#$%4'*#9?9#"(}"#Dr#(|9#g(Z'*#FY>1#Sò'#9]#$%7'#KV)9#FW'*#9(e#KX#"(?$#(<J'#Iỗ<#
$%4'*#9?9#"(}"#Dr#(|9#9_#FY>#B7#KV)9#C7'#gx#ở#9(VL'*#w1#
2.6.2 Lệnh ADD và PSW.
2â8#*<]#$;#q}$#$?9#K`'*#9A;#IJ'(#QRR#I3'#9?9#C<$#SY^#QS#B7#T#9A;#$(;'(#*(<#TiW1#
N`$#Dr#B@#FG#Ds#I7\#%õ#$%['*#$(?<#9A;#9(:'*^#\c9#FW#9?9#C<$#9]#Cd#$?9#K`'*#Cở<#IJ'(#
QRR#I7#SY^#T^#QS#B7#OP#'(V'*#$;#9(e#$!"#$%>'*#B74#9?9#9]#SY^#QS#B7#T^#9ò'#9]#
OP#Ds#KV)9#'_<#Kf'#ở#9(VL'*#w#B&#'_#I<3'#q>;'#Kf'#"(}"#$@'(#Dr#(|9#Dr#9_#FY>1##
CY

AC

F0

OV

P

-

RS1

RS0

S?9#B@#FG#010#Kf'#014#Ds#"(M'#?'(#$?9#K`'*#9A;#IJ'(#QRR#I3'#9?9#C<$#'_<#$%3'1#
B¶ng 2.1:#S?9#IJ'(#$?9#K`'*#I3'#9?9#C<$#9]1#
VÝ dô 2.2:#tu8#$%&'(#C78#$%['*#$(?<#9?9#C<$#9]#SY^#QS#B7#T#D;>#IJ'(#9`'*#v,t#BH<#
0Ft#FVH<#K©8h#

##
S]#SY#=#/#B&#9_#'(H#${#C<$#Rj#
S]#QS#=#-#B&#g(Z'*#9_#'(H#${#Rv#D;'*#R4#
S]#T#=#-#B&#Dr#C<$#/#$%4'*#Q#I7#4#k9(½'n#
#
Instruction CY OV AC
ADD X X X
ADDC X X X
SUBB X X X
MUL 0 X
DIV 0 X
DA X
RRC X
RLC X
SETB C 1
CLR C 0
CPL C X
ANL C, bit X
ANL C,/ bit X
ORL C, bit X
ORL C,/bit X
MOV C, bit X
CJNE

X
01j#S?9#Că'*#$(;'(#*(<#B7#'*ă'#qf"#9A;#, /1#
2`#B<#K<p>#g(<X'#, /#9_#$Y$#9M#/0,#C8$a#yQN1#5%4'*#\G9#'78#$;#C7'#BJ#"(â'#Cr#

RAM đánh địa
chỉ theo bit
RAM băng nhớ
(Seratch Pad)
#
##
Hình 2.5:#*ă'#qf"#9?9#$(;'(#'(H#yQN#$%4'*#, /1#
#
#
#
#
#
#
#
#
#
#
#
#
00 07 08 0F10 1718 1F 20 2F 3
0 7F

Băng0 Băng3

R7

R6

R5


R5

R4

R3

R2

R1

F

E

D

C

B

A

9

R0

8

R7


R7

R6

R5

R4

R3

R2

R1

1F

1E

1D

1C

1B

1A

19

R0


*ă'#'(H#.#9A;#yQN#9_#*<?#$%d#/0t#
#
2.6.3 Băng thanh ghi mặc định.
f>#9?9#'*ă'#'(H# #Kf'#/F#KV)9#F7'(#%<3'*#9(4#Cr'#Că'*#$(;'(#*(<^#B!8#Că'*#
$(;'(#*(<#y-#Kf'#yj#'74#$;#"(M<#$%>8#9!"#$H<#g(<#, /#KV)9#9Y"#'*>ồ'?#Sâ>#$%M#I]<#I7#
9?9#Că'*#$(;'(#*(<#-1#~_#I7#9?9#'*ă'#'(H#yQN#Dr#-^#/^#0^#v^#4^#.^#w#B7#j#KV)9#$%>8#
9!"#BH<#$3'#y-^#y/^#y0^#yv^#y4^#y.^#yw#B7#yj#g(<#I!"#$%&'(#, /1#_#Fễ#F7'*#(L'#
'(<p>#g(<#$(;\#9(<f>#9?9#'*ă'#'(H#yQN#'78#LB@#9?9#$3'#y-^#y/#B1B111#(L'#I7#Dr#Bd#
$%@#9A;#9?9#'*ă'#'(H1#P@#FG#01w#I7\#%õ#g(?<#'<J\#'781#
Ví dụ 2.6:
tu8#B<f$#I[<#9(VL'*#$%&'(#ở#B@#FG#01.#DE#FG'*#9?9#Kd;#9(e#yQN#$(;8#$3'#9?9#$(;'(#
*(<1#
Lời giải:
~â8#KV)9#*|<#I7#9(f#K`#K?'(#Kd;#9(e#$%ự9#$<f"#B7#DE#FG'*#Kd;#9(e#9?9#Bd#$%@#'*ă'#'(H#
yQN#Kr<#BH<#Kd;#9(e#K@9(1#Xa\#9(<#$<f$#ở#9(VL'*#.#Bp#9(f#K`#K?'(#Kd;#9(e1#
MOV 00, #99H ; Nạp thanh ghi R0 giá trị 99H
MOV 01, #85H ; Nạp thanh ghi R1 giá trị 85H
MOV 02, #3FH ; Nạp thanh ghi R2 giá trị 3FH
MOV 07, #63H ; Nạp thanh ghi R7giá trị 63H
MOV 05, #12H ; Nạp thanh ghi R5 giá trị12H
#
2.6.4 Chuyển mạch các băng thanh ghi nh thế nào?
(V#Ku#'_<#ở#$%3'^#Că'*#$(;'(#*(<#-#I7#\c9#Kd'(#g(<#, /#KV)9#9Y"#'*>ồ'1#S(:'*#$;#
9_#$(X#9(>8X'#\[9(#D;'*#9?9#Că'*#$(;'(#*(<#g(?9#Cằ'*#9?9(#DE#FG'*#C<$#Rv#B7#R4#
9A;#$(;'(#*(<#TiW#'(V#9(e#%;#$(a4#CM'*#0101#
Bảng 2.2:#2<$#Iự;#9(|'#9?9#Că'*#$(;'(#*(<#yi-#B7#yi/1#
RS1 (PSW.4) RS0 (PSW.3)
Băng 0 0 0
Băng 1 0 1
Băng 2 1 0

2.6.6 Cách truy cập các ngăn xếp trong 8051.
f>#'*ă'#qf"#I7#\`$#BW'*#9A;#C`#'(H#yQN#$(&#"(M<#9_#9?9#$(;'(#*(<#$%4'*#STU#9(e#
Kf'#'_1#5(;'(#KV)9#FW'*#KX#9(e#Kf'#'*ă'#qf"#KV)9#*|<#I7#$(;'(#*(<#94'#$%z#'*ă'#
qf"#iT#ki$;9g#T4<'$a%n1#S4'#$%z#'*ă'#qf"#$%4'*#, /#9(e#%`'*#,#C<$#9_#'*(ĩ;#I7#'_#9(e#
9_#$(X#9_#$(X#KV)9#9?9#Kd;#9(e#${# #Kf'#FFt1#
K(<#, /#KV)9#9Y"#'*>ồ'#$(&#iT#9(=;#*<?#$%d#-j#9_#'*(ĩ;#I7#'*ă'#'(H#-,#9A;#yQN#I7#
'*ă'#'(H#K6>#$<3'#KV)9#FW'*#9(4#'*ă'#qf"#$%4'*#, /1#P<J9#IV>#I[<#\`$#$(;'(#*(<#
TSU#$%4'*#'*ă'#qf"#KV)9#*|<#I7#\`$#I6'#9Y$#B74#TUit#B7#B<J9#'["#'`<#F>'*#9A;#
'*ă'#qf"#$%ở#I[<#$(;'(#*(<#STU#KV)9#*|<#I7#IY8#%;#TOT1#t;8#'_<#9?9(#g(?9#I7#\`$#
$(;'(#*(<#KV)9#9Y$#B74#'*ă'#qf"#KX#IV>#9Y$#B7#KV)9#IY8#%;#${#'*ă'#qf"#KX#FW'*#$<f"#
9Z'*#B<J9#9A;#iT#I7#%Y$#'*(<3\#'*c$#\ỗ<#g(<#$(;4#$?9#9Y$#B74#kTUitn#B7#IY8#%;#kTOTn#
KV)9#$(ự9#$(<1#~X#C<f$#'*ă'#qf"#I7\#B<J9#'(V#$(f#'74#(u8#q}$#9?9#IJ'(#TUit#B7#TOT#
FVH<#Kâ81#
2.6.7 Cất thanh ghi vào ngăn xếp.
5%4'*#, /#$(&#94'#$%z#'*ă'#qf"#9(e#Kf'#'*ă'#'(H#DE#FG'*#9>r<#9W'*#9A;#'*ă'#qf"1#
K(<#$;#9Y$#F+#I<J>#B74#'*ă'#qf"#$(&#94'#$%z#'*ă'#qf"#iT#KV)9#$ă'*#I3'#/1# V>#b#%ằ'*#
K<p>#'78#Kr<#BH<#9?9#C`#B<#qE#Ib#g(?9#'(;>#I7#g(?9#'(;>^#K?'*#9(:#b#I7#9?9#C`#B<#qE#
Ib##,w#I7#iT#*<M\#q>r'*#g(<#9Y$#F+#I<J>#B74#'*ă'#qf"1#X}$#B@#FG#01,#FVH<#Kâ8^#$;#
$(Y8#%ằ'*#\ỗ<#g(<#IJ'(#TUit#KV)9#$(ự9#(<J'#$(&#'`<#F>'*#9A;#$(;'(#*(<#KV)9#9Y$#B74#
'*ă'#qf"#B7#iT#KV)9#$ă'*#I3'#/1# V>#b#I7#Kr<#BH<#\ỗ<#C8$a#9A;#F+#I<J>#KV)9#9Y$#B74#
'*ă'#qf"#$(&#iT#KV)9#$ă'*#I3'#/#I6'1#Sũ'*#IV>#b#%ằ'*#KX#9Y$#9?9#$(;'(#*(<#B74#'*ă'#
qf"#$;#"(M<#DE#FG'*#Kd;#9(e#yQN#9A;#9(:'*1#P@#FG#IJ'(#TUit#/#I7#9Y$#$(;'(#*(<#
y/#B74#'*ă'#qf"1#
Ví dụ 2.8:
tu8#C<X>#F<ễ'#'*ă'#qf"#B7#94'#$%z#'*ă'#qf"#Kr<#BH<#K4['#9(VL'*#$%&'(#D;>#Kâ81#G<M#
$(<f$#BW'*#'*ă'#qf"#I7#\c9#Kd'(1#
MOV R6, #25H
MOV R1, #12H
MOV R4, #0F3H
PUSH 6

POP 2 ; Lấy ngăn xếp trở lại R2
#
Lời giải:

Sau POP3 Sau POP 5 Sau POP 2
0B 54

0B 0B 0B
0A F9

0A F9 0A 0A
09 76

09 76 09 76 09
08 6C

08 6C 08 6C 08 6C
Bắt đầu SP = 0B SP = 0A SP = 09 SP = 08
#
2.6.9 Giới hạn trên của ngăn xếp.
(V#Ku#'_<#ở#$%3'^#9?9#'*ă'#'(H#-,#Kf'#/Ft#9A;#yQN#$%4'*#, /#9_#$(X#KV)9#FW'*#
I7\#'*ă'#'(H#0-t#Kf'#0Ft#9A;#yQN#KV)9#Fự#"(ò'*#9(4#C`#'(H#K?'(#Kd;#9(e#KV)9#
$(a4#C<$#B7#g(Z'*#$(X#FW'*#$%VH9#9(4#'*ă'#qf"1#f>#$%4'*#\`$#9(VL'*#$%&'(#Ku#9(4#
$;#96'#'*ă'#qf"#'(<p>#(L'#04#C8$a#k-,#Kf'#/Ft#=#04#C8$an#$(&#$;#9_#$(X#Kổ<#iT#9(e#
Kf'#9?9#'*ă'#'(H#v-#Kf'#jFt1#~<p>#'78#KV)9#$(ự9#(<X'#Cở<#Iẹ'(#NOP#iT^##XX1#
2.6.10 Lệnh gọi CALL và ngăn xếp.
*47<#B<J9#DE#FG'*#'*ă'#qf"#KX#IV>#9Y$#9?9#$(;'(#*(<#$(&#STU#9ũ'*#DE#FG'*#'*ă'#
qf"#KX#IV>#9Y$#$;\#$(]<#Kd;#9(e#9A;#IJ'(#K='*#'*;8#FVH<#IJ'(#SQ 1#~<p>#'78#9(@'(#
I7#KX#TSU#C<f$#9(ỗ#'74#KX#q>;8#$%ở#Bp#$(ự9#(<J'#$<f"#9?9#IJ'(#D;>#g(<#9(|'#9(VL'*#
$%&'(#94'1#S(<#$<f$#Bp#IJ'(#*|<#SQ #KV)9#$%&'(#Co#ở#9(VL'*#v1#


63 63 63
62

62 62 62 F3
61

61 61 12 61 12
60

60 25 60 25 60 25
B¾t ®ÇuSP=5F SP = 60 SP = 61 SP = 62
#
#
#
#


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status