CHƯƠNG III: TÂ ̣ P LÊ ̣ NH CU ̉ A VI XƯ ̉ LY ́ 3.1. KHA ́ I NIÊ ̣ M VÊ ̀ LÊ ̣ NH, DA ̣ NG LÊ ̣ NH VA ̀ CA ́ CH MA ̃ HOA ́ LÊ ̣ NH CU ̉ A VI XƯ ̉ LY ́ . ! ! " " #$ ! ! ! " !% " & " ' " ! % " " ! # ( & " ! % ) ! *!&+!'&, ! & " ' " *!'&,'% '% -#.# % " ! & & !/. #0 '% 1 % / .' 2 2 2 ' &" 2 !'% #3 & ! !& !'& '#$ 1 2" !' ! % " ' " ! 2 "" #4"2 56 ! ' % " # $ & " . " " #( " &" . ! !&% 789 2 "#:' 2 ! " " 2 # " .1 " " ' #% &" &" & "" ;/;; % -#7# 8< =5=0> =5>?@(0 A% -#.)0 " BC??>D / / . //. 0!. 0!7 =!& & 0 E 0'F 0' G. G7 G- G< A% -#7)B B='56;/;; : 2 H" " " " ! ! & " % *0, ' " *4"',# I MOV đi ́ ch,nguô ̀ n &" " & " 1 #( ! =!&' " % % #A% -#7 B= % 7' 9" " &" =!&# B=2 &" % 9 " .///./#J &" 9 =!&2 # GE *EK/,1 *EK.,#:' " & " ' 1 " ! #;/;; &" 71 -' " ") : B EK. EK/ @L GL L 0L 45 0 G5 4 4 04 >4 44 @I GI I 0I @A GA A 0A /// / //. /./ .// . ./. / /. // ./ G0&" '" " & "' 0K.& " " -?>D' 0K/& " " ?>D# A& -BC?*'C'', &" % % " # % % '% " & "" '" 2 !#G " '% " % ' # B& BC? // /. ./ EK/ EK. 88 /// //. /./ / .// ./. / . MGLNOM4N MGLNOM0N MG5NOM4N MG5NOM0N M4N M0N &.9&' MGLN MGLNOM4NO&; MGLNOM0NO&; MG5NOM4NO&; MG5NOM0NO&; M4NO&; M0NO&; MG5NO&; MGNO&; MGLNOM4NO&.9 MGLNOM0NO&.9 MG5NOM4NO&.9 MG5NOM0NO&.9 M4NO&.9 M0NO&.9 MG5NO&.9 MGNO&.9 @I I 0I GI @A A 0A GA @L L 0L GL 45 G5 4 0 :' )P&;) & ;Q&.9) & .9# % &" B=IMGLN") 3.2. CA ́ C CHÊ ́ ĐÔ ̣ ĐI ̣ NH VI ̣ ĐI ̣ A CHI ̉ . % % '% ' 56 #B " % "'" ! 2 #" "1 % 56 1 2 "#4" % &" " ) :' 1 ' #: % " # % &" )B=I.//A Q" ' .//A I B=MGLN./A Q" ./A % 04)GL# :' % " & " ' #: ' % 2 " #:' ;/;; ' ! % *RR," & "# % &" ) B=@IM.///AN Q" &" 04).///A @I B=M7//SANL Q" &"L ! Q04)7//SA 04)7//@A+ ;/;;# :' '56 &" & " ' #% " &" # 89 . / / / . / . / / / / / . . . . =!& " " . I MGLN A% -#-)B B=IMGLN# % &" ) B=GL0L Q" ' 0LH"GL# @00GII Q ' " GI ' 'I# &" % " & " ' ' ! # % &" )B=@AMGLN Q" &" % 04)GL @A# B=M4NI Q" ' " I % 04)4# :' ;/;;C;/;9% GLG540 &" !# ! " # " # $ :' % " % 1 ..9 ' & *&!",#5! !% % ' 2'" ! "" '" !% " ! ' & ' " # % GLG54 0 &" ' % # $ % " 1 ' 041 >4# % &" )B=LMGLNO./ Q" &" !1 " Q % 04)*GLO./, L# B=LMGLO./NQ. 2 " '# B=L./MGLN Q. 2 " '# % " # :' % % 1 " & # ' &" ' % "# :';/;;" < ' % ) MGLNOM0NO0! QMGLNOM4NO0! QMG5NOM0NO0! QMG5NOM4NO0!# & :' &" ' #J % " "2 " % 1 2 '% '% " "2 # % &" )TU/-A Q" "2 /-# ' ( :' % ' % ." 1 # ' "&" ' '% "2 2" " 2 ! ! ' # % &" )4>:5/#/ Q ! ' /" /.# ) &" "" "2 '% # '% " ' ' % % " % " # :';/;; &" !" " 1 # 3.3. MÔ TA ̉ TÂ ̣ P LÊ ̣ NH CU ̉ A 8088/8086. 8V B ! " " " 1 #:" " ! " " % ) &" & " & " "2 '% # J &" 2 "") P *&,) # P ?*?', ) ' !# P B*B',) "# P B;*B';,) ;# P B.9*B'.9,) .9# P 4#?*4?',) # * + ,-# . + , P" ! !) B=04"' P: ) 0 ← 4"' 0 " ! " *4"', % *0,#" 2 " % % # P &" ' ' ") 0 4"' % &" ? ? ? B B 4#? 4#? ? B ? ?.9 B.9 B=@AGA B=IM.///AN B=0A./ B=:GL B=L.78A B=04@L B=>4L7 P " ' !2 &" ' ) OJ" & "' ! # OJ" ' *, # OJ" & " # OJ&" 4 % # P" ! !) LAD04"' P: ) 0 ↔ 4"' 0 " " % " "2 % " " # P ' ! &" ' ) 0 4"' % &" @L ? LAD@LGL 8; B ? ? ? LAD46BGL LADI0I ! "#$ % & P" ! !) LI@: P: ) @I ← M04W./AOGLO@IN I ' ' & " @I GL % " @I 2 " ' # ' ( ) " ! % "**"&#++",+"# P" ! !) I>@?.9L. QL. % # P: ) ?.9 ← $ % " L.# I % RR" L. .9# - . ("# $ / ! % "012"#"01 P" ! !) I04?.9L P: ) 04 ← 4#L ?.9← =RR#L I % " L 04 % .9# 3 ("# $ / ! % "14 P" ! !) I>4?.9' P: ) >4 ← 4#' ?.9← =RR#' 5 ! " % 6 ! ( P" ! !) 564A4"' : 4"'' 1 # % 1 ! &" 564AX# P: ) & "% " % 1 ! ' 1 !" " " # % &" )564A@L " M44W./AO*45P.,N ← @A M44W./AO*45P7,N ← @I 45 ← 45P7 7 ! #8 6 ! ( P" ! !) 5=50 : % ' " 1 #5" % 1 ! &" 5=5X# P: )I & " % 1 !' % 1 ' " 45 ' % # 9 : ! "# ( I !*!",) (@5' (@M0LN 8S I " *"!",) =6:5'@ =6:M0LN@ ) 5' % ''"" & "# M0LN ! % # @ *@L "'"" @I "'"" ,# + $ # +- . + , & " 2 H" ' % ' " 2 H" ' ' # : ! 4 • *@&&,) P" ! !) @0004"' P: ) 0 ← 0O4"' X ← G' " 2 H" # P &" ' ) 0 4"' % &" ? ? B ? B ? B ? @00@LGL @00GL@? @0046B0L @00I/S @0046B./ • )*@&&F'',# P" ! !) @004"' P: ) 0 ← 0O4"'OX P &" ' # • I 1*',# P" ! !) (0 P: ) 0 ← 0O. P: % &" ' 1 # • % !! *0@&Y"R'@&&, P" ! !) 0@@ P: ) 2 H" " 1 ' % !! "% & ! & G0 #D ' ' 2 " ' # $ 2 H" " &" ' ' 0@@! & ! ! # • % @4 *@4@&Y"R'@&&,# P" ! !) @@@ 9/ P: ) $ "% ' @4 !% ' #$ 2 H" " " ! & & @4# : ! "# % 1$"#" A ;/;; ' # • :' ) 46G04"' • :' ) 4GG04"' • D ) 0>0 • I " 7) (>D0 • % !!! !' )0@4 • % @4! !' ) @@4 : ! ;"( • I # P" ! !) B6I4"' P: ) @L ← @IW4"'; Q2 " ; 0L@L← @LW4"'.9 Q2 " .9 • I " & ") P" ! !) B6I4"' P: ) "2 H" "# ( ' " & "2 ) B6I? Q?.9←?.9W B6I?4"'; Q?.9←4"'.9W; • I % @4! !# P" ! !) @@B PI % " ! ! G0 ;2 H" '@I# ' : ! 0+ : ;/;; ") • )04"' 4"'; '@L '@I &'@A# 4"'.9 '0L@L '@L & '0L# • " & ")04"' • % @4! !)@@0 - : ! ; .9 ! ! ' # ) • @(004"' • =?04"' • L=?04"' • (=:0 &" ' ' ) 9. 0 4"' ? ? B ? B ? B ? ? (=:% % 1 # 3 : ! < :' H"& % *0, 1 H"1 & % 1 *",% ' #4 "% 1 .1 'I# • 0 ' *4RIIR,# P" ! !) 4AI0" P: ) " % & !% ' " " & *O., ' & ' *X, ' ! 1 /#5 !& ' "& '% -#<# • 0 ' *4R@'IR,# P" ! !) 4@I0" P: ) & ' % 2 ' ' % 2 "2 # : & ! & ! ) 4A?0" Q& ! # 4@?0" Q& ! # • Z"' *?IR,# P" ! !) ?=I0" P: ) & ' ' " ' ' ! ' 0# " '% -#8# 97 0 0 / /X A% -#<)A " 4AI0"# 0 0 / X A% -#8)A " ?=I0"# • Z"! *??,# P " ! !)?=?0" P : ) ?=I "H" ! # • Z"' H" # P " ! !)?I0" P : ): H"' " H"# " '% -#9# • Z"! H" # P " ! !)??0" P : ) H"' H" *?I, "H" # 5 ++ ! P " ! !)B504"' P : )0+4"'→ ' # 5 !' 2 ' ' " ' # &" ' # 0 4"' ? ? ? B ? B 7 : ! ! • 0" " *B', P " ! !)B=4G P : ) M>4W./AO0N←M04W./AO4N 4←4±. 0←0±. 0 " 2 0XK.& "' 2 0XK/# • 0" " *B', P " ! !)B=4E P : ) M>4W./AO0N←M04W./AO4N M>4W./AO0O.N←M04W./AO4O.N 4←4±7 0←0±7 9- A% -#9)A " ?I0"# 0 0 / X [...]... n chỉ cấ t IP vào ngăn xế p), và chuyể n điề u khiể n chương trinh tới nhan chỉ thi ̣ ̃ ̀ bởi tác tố trong lê ̣nh • Các lênh trở về từ chương trinh con (Return) ̣ ̀ RET ; điạ chỉ quay về từ chương trinh con đươ ̣c lấ y ta ̣i đinh ngăn xế p ̉ ̀ RET Disp16; điạ chỉ quay về từ chương trinh con đươ ̣c lấ y ta ̣i vi trí có điạ chỉ bằ ng đinh ̣ ̉ ̀ ngăn xế p cô ̣ng với... giảm CX đi 1 và nhảy tương đố i tới vi ̣ trí xác đinh bởi Short – ̣ Label nế u CX≠0 Nế u CX = 0 lênh kế tiế p trong chương trinh sẽ đươ ̣c thực hiên ̣ ̣ ̀ • LOOPE hoă ̣c LOOPZ Short – Label; giảm CX đi 1 và chuyể n điề u khiể n chương trinh ̀ nế u CX ≠ 0 và ZF ≠ 0 66 • LOOPNE hoă ̣c LOOPNZ Short – Label; giảm CX đi 1 và chuyể n điề u khiể n chương trinh nế u CX ≠ 0 và ZF = 0... giá tri mới ̣ • Nhảy có điề u kiê ̣n Các lê ̣nh nhảy có điề u kiên sẽ thực hiên vi ̣c chuyể n điề u khiể n khi điề u kiên chỉ thi ̣trong ̣ ̣ ̣ lênh đươ ̣c thoả man, nế u điề u kiê ̣n không thoả lênh kế tiế p trong chương trinh sẽ đươ ̣c thực ̣ ̣ ̃ ̀ hiên Các lê ̣nh này thư ̣c hiên vi c chuyể n điề u khiể n tương đố i trong khoảng – 128 tớ 127 ̣ ̣ ̣ byte Các điề u... Lấ y bù cờ nhớ : CMC • Xóa cờ ngắ t : CLI • Lâ ̣p cờ ngắ t : STI 2 Các lê ̣nh nhảy • Nhảy không điề u kiên (JMP) ̣ - Cú pháp: JMP tác_tố - Thực hiên: chuyể n điề u khiể n chương trinh tới vi ̣ trí xác đinh bởi tác tố chỉ thi ̣ trong ̣ ̣ ̀ lênh ̣ - Tác tố = Short - Label; Near – Label; Far – Label; Mem16; Reg16; Mem32 + Với Short – label và Near – Label: lênh sẽ chuyể... Nhan; JP Nhan; JPE Nhan; JNP Nhan; JPO Nhan; JCXZ Nhan; JL Nhan; JNGE ̃ ̃ ̃ ̃ ̃ ̃ ̃ ̃ Nhan; JG Nhan; JNLE Nhan; JLE Nhan; JNG Nhan; JGE Nhan; JNL Nhan ̃ ̃ ̃ ̃ ̃ ̃ ̃ 3 Các lê ̣nh cho chương trình con • Các lênh go ̣i chương trinh con: ̣ ̀ - Cú pháp: CALL tác_tố - Các tác tố trong lê ̣nh tương tư ̣ như trong lênh nhảy không điề u kiê ̣n bao gồ m: Near – ̣ Proc; Far – Proc; Mem16; Reg16;... bằ ng NBE: Không nhỏ hơn hoă ̣c bằ ng C: CF = 1; NC: CF = 0; Z: ZF = 1; NZ: ZF = 0; S: SF = 1; NS: SF = 0; P: lẻ; PE: chẵn; O: OF = 1; NO: OF = 0 - CXZ: nhảy nế u CX bằ ng 0 Khi thực hiê ̣n vi ̣c so sánh các số có dấ u còn có các điề u kiên như: ̣ - L: nhỏ hơn (Less Than) - G: lớn hơn (Great than) - LE: nhỏ hơn hoă ̣c bằ ng - GE: lớn hơn hoă ̣c bằ ng - NLE: không nhỏ hơn... SCAS Lă ̣p la ̣i cho đế n khi ZF = 0 hoă ̣c CX = 0 - Các lênh: ̣ REPNE CMPS hoă ̣c REPNZ CMPS REPNE SCAS hoă ̣c REPNZ SCAS Lă ̣p la ̣i cho đế n khi ZF = 1 hoă ̣c CX = 0 3.2.3 Các lê ̣nh điều khiển chương trinh ̀ 1 Các lê ̣nh điề u khiển cờ • Lênh chuyể n giá tri thanh ghi cờ vào thanh ghi AH (Load AH with Flag) ̣ ̣ - Cú pháp: LAHF - Thực hiên: AH ← F ̣ • Phu ̣c hồ i giá tri của thanh . CHƯƠNG III: TÂ ̣ P LÊ ̣ NH CU ̉ A VI XƯ ̉ LY ́ 3.1. KHA ́ I NIÊ ̣ M VÊ ̀ LÊ ̣ NH, DA ̣ NG LÊ ̣ NH VA ̀ CA ́ CH MA ̃ HOA ́ LÊ ̣ NH CU ̉ A VI XƯ ̉. B=IMGLN") 3.2. CA ́ C CHÊ ́ ĐÔ ̣ ĐI ̣ NH VI ̣ ĐI ̣ A CHI ̉ . %