Tải bản đầy đủ (.pdf) (47 trang)

Tập lệnh asembly, tóm tắt chức năng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (464.07 KB, 47 trang )

Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
1/47

BOOKn
o
03.02

Giđn:
ĐoànHip,DMĐ,ĐTA,MTĐ,www.picvietnam.com
Nidung:
TplnhPICMidrange
 MICROSOFTWORD

Tómtt:
HngdnvtplnhcadòngPICMidrange

1. CácquyccangônngMPASM

[nhãn] LNH thams1, thams2

Mtdòngnhthnàyđcgilàmtdònglnh.ChngtrìnhMPASMđcchialàm4
ctrõràng.Ctthnhtđvitnhãn,ctthhaiđvittênlnhmunthchinmàchúngta
strìnhbàydikia,ctth3làthamsthnhtcalnh,ctthtlàthamsthhaica
lnh.Giathamsthnhtvàthamsth2luôncáchnhaumtduphy(,).Cácctđc
cáchnhaubngítnhtmtkýtTAB(khongtrngrng).Đdàicakhongtrngnàycó


thđcquyđnhsaochodnhìnvingilptrình.Giactth3vàctthtkhôngcn
cókhongTAB.Nhngđddàngchovicđclichngtrình,chúngtavnnêndùng
khongTABgiahaictnày.
NuđmcđnhnhkhicàiđtMPLAB,chúngtôiđnghsdnghìnhthcnhsau:


tab - tab
tab - tab
tab - tab
[nhan] LENH thamso_1, thamso_2
:++++++++;
:++++++++;
:++++++++;



Chúngtaphivitsaochochngtrìnhđcvitphiphânbitrõthànhtngct,va
đpmtkhitrìnhbày,vàdđclichngtrình.

1.1. [nhãn]
[nhãn]làmtchuikýtđđánhdumtđimnàođótrongchngtrình,thayvìphi
ghinhvtríđótrongbnh,chúngtathayvtríđóbngmtcái[nhãn].[nhãn]nàythng
đcgilibnglnhGOTOhocCALL.
Micâulnh,cóthcóhockhôngcó[nhãn].Tuynhiên,nênvitsaochos[nhãn]làít
nhtđtránhslmlnvàrimtkhilptrình.
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:

10/31/2005
Trang:
2/47

[nhãn]đcvittrongctthnhtcadònglnh.[nhãn]khôngđcbtđubngcácký
tđcbitnh:*,&,khongtrng,cáccons(0,1,2…)…Giacáckýtcanhãncễngkhông
đccócáckýtđcbit*,^,khongtrng,…
Đdàicamt[nhãn]khônggiihn,tuynhiên,chúngtaphivitsaocho[nhãn]luôn
nmtrongctthnhtcadònglnh,đdàinhãnvaphiđdquansát,đthôngtingi
nhvàthuntinkhilptrình.
Chúngtahoàntoàncóthkýhiucác[nhãn]làNHAN_1,NHAN_2…nhngnidung
thôngtincanhãnkhôngđđthhincôngvicsđcthchin,nhvysrtkhónh
khilptrình,nhtlàkhichngtrìnhcacácbndàivàcóđnhàngchchàngtrămnhãn
trongchngtrình.

Víd:
nhãnđúngvànhãnsai
HELLOnhãnđúng
hellonhãnđúng
good_byenhãnđúng
goodbye_1  nhãnđúng

2_hello   nhãnsai(btđubngmtcons)
good^byenhãnsai(cókýtđcbittrongnhãn)
bonjournhãnsai(cókhongtrngtrongnhãn)
welcomenhãnsai(btđunhãnbngkýttrng)


1.2. LNHvàcácthams:
LNHlàtêncacáclnhginhđclitkêtheobngchcáiABCbêndi.LNH

đcvitvàoctthhai,midònglnhphicótênLNH,nukhôngcóthìskhôngbit
dònglnhđólàmvicgì.LNHthhincôngvicphilàmcadònglnh.
TùytheoLNHmàcóthcóthams1vàthams2,hocchcóthams1,hockhôngcó
thamsnàoht.Trongmtdònglnh,phivitđthamscaLNHđó.
Tplnhđccungcpphíacuichng.Ýđnhcachúngtôilàtrìnhbàysongsongtp
lnhvàphnchúgiinàyđcácbndđichiu,sosánh,tuynhiên,tgiycunsáchkhông
thgplàmđôi,chínhvìthchúngtôiđnghcácbnphotohocinthêmmtbngtplnh
dánlêntrcbànlàmvicđvađcphnnàyvasosánh,vàkhilptrìnhcóthddàng
tracu.

Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
3/47

Víd:
thamscamtLNH
Lnhcó2thams:
[nhãn] ADDWF F, d
[nhãn] BTFSSF, b
Lnhcó1thams:
[nhãn] CLRF F
[nhãn] ADDLW k
Lnhkhôngcóthams:
[nhãn] NOP
[nhãn] RETURN

[nhãn] SLEEP

1.3. Quyckíhiu:
 W=Workingregister:thanhghiW.
 F =Fileregister:thanhghiF
 d =destination(đích):nud=0,ktquctvàoW.Nud=1,ktquctvàoF.
 k =Literalvalue:làs8bithocmtđachtrongbnhchngtrình11bit.
 b =bitaddress:đachcabittrong1byte(thanhghi)nàođó.

1.3.1. ThanhghiW:
Chúngtathyrng,bnchtcacácdònglnhđcthchintrênmáytínhlàcácphép
toánđcthaotáctrêncácthanhghi.Dovy,btkmtcâulnhnàocễngsthchinmt
phéptoánnàođó,vàktqucaphéptoánđóphiđcsdngchocáclnhtiptheo,nu
khôngdònglnhđótrnênmtdònglnhvônghĩa.
NgoitrlnhNOPlàlnhkhôngthchinthaotácgìvàtnđimtchukmáy,nhng
nócótácdngđcânbngthigianthchincácđonchngtrìnhtngđng.Chúngta
snóivviccânbngthigianthchinchngtrìnhbnglnhNOPtrongcácphnvgii
thutlptrìnhphíasau.
Vnđchúngtôiđcpđây,đólàvictínhtoánsđcxyranhthnàobêntrongvi
điukhin.NucácbnlàngiđãhclptrìnhPascal,C,hoccácngônngcpcaokhác,
cácbnsthyrngkhithchinphéptoáncnghaibinbvàc,sauđógánvàobina,các
bncóthlàmmtcáchtrctipnhsau:
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
4/47



a:=b+c;

Tuynhiên,vicnàyđiviPICkhôngththchinđc,màchúngtaphithchintheo
tngbcnhsau,chuynbvàothanhghiW,sauđólyWcngvic,rigánlivàothanh
ghiW,sauđómichuynktquvàoa.Côngvicđcthchinbngmtchuilnhsau:

CONG MOVF b, W ;W:=b
 ADDWF c, W ;W:=W+c
 MOVWF a  ;a:=W

Nhvy,đây,PICchchophéptrongmtthiđimtngtácvi1thanhghi(haymt
bin).Nucncóstngtácgiahaihaynhiuthanhghi,phithôngquathanhghiWnh
làmtthanhghiđm.Chínhvìvy,ccómtlnhtngtácvithanhghi,thìdngnhs
cómtlnhtngngtngtácvithanhghiW.
Víd:
tplnhtngtácthanhghiW
ADDLW:W=W+k ADDWF:d=W+F
ANDLW:W=Wandk ANDWF:d=WandF
CLRW:xóathanhghiW CLRF:xóathanhghiF
IORLW:W=Work IORWF:d=WorF
MOVLW:W=k MOVF:d=F
 MOVWF:F=W
SUBLW:W=k–W SUBWF:d=F–W
XORLW:W=Wxork XORWF:d=WxorF


1.3.2. Đíchd:
Ngoàira,cácbncóththyrngdchcóthlà0,hoc1.Khid=0,cónghĩalàktquli

đcluvàothanhghiW.Nhvy,thanhghiWvacóthcoilàmtthanhghitm,liva
cóthcoilàmtthanhghihotđngliêntctrongquátrìnhchychngtrìnhcabn.Bn
cễngluônluônnhrngtimithiđimthchinmtdònglnh,chđcphépthaotác
vimtthanhghiduynht,và(hoc)thanhghiW.Khôngcómtlnhnàochophéptng
tácvihaithanhghikhácnhaumàmttronghaithanhghiđókhôngphithanhghiW.Điu
thhaicnghinh,đólàccómtlnhtngtácvithanhghiW,thìscómtlnhtng
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
5/47

ngtngtácvithanhghi(bin)F.Điungclikhôngđúng.Nhngnucómtlnhnào
tngtácvithanhghiF,thìktquđucóthđcghivàothanhghiWhocthanhghiF.
Hãychúýtictbênphicabngtrênd(đích)cóthlàthanhghiWhocthanhghiF.
Luý:Chúngtahòantoàncóththaythdtngngvi0làWvà1làFđdnh.Chng
trìnhdchMPASMchophépghinhvy.
Víd:haicâulnhnàylàtngđng
TANG_1 INCF BIEN_1, 1
TANG_1 INCF BIEN_1, F

ChaicâulnhnàyđutăngBIEN_1lên1đnvvàctgiátrtănglênđóvàoliBIEN_1.
NuvitbngPascal,câulnhtrênsnhsau:
BIEN_1:=BIEN_1+1;

1.3.3. Đachbitb:
Điuchúngtasquantâmđâylàthamsbtrên.Thamsbchxuthintrong4lnh

tngtácbit:BCF,BSF,BTFSS,BTFSC.Thamsnàychcógiátr0,1,2,3,4,5,6,7.Ngoàira
khôngthmangbtkmtgiátrnàokhác.Vìsaonhvy?Vìchúngtađanglàmvicvivi
điukhinPIC8bit,cónghĩalàdliuđctínhtoántrongviđiukhinchcó8bitvàđc
đánhsnhsau:
ThanhghiF:
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0

Chínhvìvy,chsblàvtríbit,chonênchcóthmanggiátrt0đn7.Cácbnxemví
dsau:
Víd:
QuansátthanhghiđcđttênlàAcógiátr10110110
[nhãn] BCF A, 5 ;xóabit5cathanhghiA
Saukhithchinlnhnày,thanhghiAscógiátr:10010110
[nhãn] BSF A, 6 ;btbit6cathanhghiA
Saukhithchinlnhnày,thanhghiAscógiátr:11010110

Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
6/47

1.3.4. Chúthích:
À,vàmtđiunaxuthin,đólàcácbnthysaukhichúngtôivitdònglnhvídtrên
đây,phíabênphi,chúngtôiđánhdu«;»vàvitmtsghichúchocâulnh.Đâylàmt
chunđúngchkhôngphichúngtôivitchúthíchchocunsáchmàvitthêmvào.
MPASMcễngnhcácngônnglptrìnhkhác,chophépngilptrìnhvitchúthích

chomidònglnhhocmtđoncácdònglnhđsaunàydkimtra,sacha,hocgiúp
chongikháccóthđcđcddànghncácnidungmìnhvit.
Ttccácchúthíchđuphinmtrênmtdòngvànmsauduchmphytrêndòngđó.
Nuchúthíchnàodàihnmtdòngthìphicóduchmphyđucácdòngbêndi
Víd:

;
;Chúngtathchinmtvídtínhtoán
;theocôngthca:=b+c
;bngngônngMPASM
;
CONG MOVF b, W ;chuyngiátrtthanhghibvàoW
 ADDWF c, W ;cnggiátrWvàc,ghilivàoW
 MOVWF a  ;ghigiátrtngvàoa
;tisaochúngtaphilàmthnày?
;tivìkhôngthlàmkhác!
;
;Ktthúctínhtoán
;

Ttccácchúthích,cáckýtbtkđcvitphíasaudu“;”trêncùngmtdòngđuvô
nghĩađivichngtrìnhdch,vàchngtrìnhdchskhôngdchttcnhnggìnmphía
sauduchmphytrongdòngđó.
Vnđnysinhvivicvitchúthíchđólàphivitlàmsaovađđcóthddàng
kimtralisaunày,vàkhôngvitquánhiusphimtnhiuthigianvitchúthíchhnlà
vitlnhthcthi.Chnghnvídvvicvitchúthíchnhtrênkialàquátha,vàchúngta
khôngcnphivitquánhiunhth.
Hãythvitthnàythìsao?
CONG MOVF b, W
 ADDWF c, W

 MOVWF a  ;a:=b+c
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
7/47

Chđnginnhvythôi,bnsđmtcôngvitchúthích,vàscungcpđnidung
chobnkhibnđclichngtrình.VitchúthíchtheonhtrongcunsáchThcVisual
C++trong21ngàycễngchínhlàmtnghthut.Vìvy,cácbncễngnêntpvitchúthích
chohiuquđiviMPASM.Trongquátrìnhthchincácbàitp,chúngtôiscgng
truynchobncácýtngkhivitchúthích,vàchúngtôimongcácbntipnhnnó,vàs
dngnóđchúngtascócùngmththngvitchúthích,tđóvsauchúngtasdđc
vàhiunhauhn.
Cuicùng,chúngtôiđaramtvàiconsthngkêmàcóthnósgiúpíchchocácbn
dhìnhdungtrongquátrìnhhctplnhcaPIC.TngcngdòngPICMidRangecó35
lnh.Milnhthngchim1chukmáy,trcáclnhvđiukhincontrchngtrình.
Có16lnhtngtácbyte(baogmthanhghiFbtkvàthanhghiW),chcó4lnhtng
tácbitvà15lnhđiukhin.

2. Đdàimãlnhvàchukmáy
Nhnthymtthctrng,cácbnsinhviênmilàmquenviviđiukhinthnglm
lnvhaikháinimschukmáythchinlnhvàđdàimãlnh.Dođó,trongphnnày,
chúngtôichcgnggiithíchsquađcácbncóthphânbithaivnđtrênthtrõràng.

2.1. Chukmáy
Xuyênsuttptàiliunày,chúngtôichmunhngdncácbnmtcáchtoradao

đngchoPICbngthchanhbivìnhngcáchtodaođngkhácđucósntrongdatasheet.
(chavitxong)

2.2. Đdàimãlnh
ĐdàimãlnhcadòngPICmidrangelà14bitvàđcđánhsnhsau:

13 12 11 10 9 8 7 6 5 4 3 2 1 0

Hình1:MãlnhcadòngPICmidrange

Cễngnhchúngtađãnóitrên,tplnhPICmidrangecóthđcchiathành3loich
yu,lnhtngtácbyte,lnhtngtácbitvàcáclnhđiukhin.Skhácnhaucacáclnh
nàylàgì?
Cácbnchúýrng,vilnhtngtácbyte,thìchúngtaluôncó2thôngslàFvàd,trong
đóFlàđachthanhghi,haynóingngnlàthanhghi,vàdlàbitđchnxemktquđc
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
8/47

lungclivàoFhayluraW.Trongkhiđó,lnhtngtácbitcncó3bitđmãhoávtrí
cabittrongmtthanhghinàođó(t0đn7,nghĩalàt000đn111).
Vicáclnhđiukhinvàtínhtoán,thìchúngtacócácgiátr8bitk(t0đn255),vàhai
lnhđcbitCALLvàGOTOthìgiátrklà11bit(t0đn2047).
ChúngtasxemxétcáchtchcmãlnhcadòngPICmidrangecácmcdiđây.


2.2.1. Cáclnhtngtácbyte

13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 OPCODE dĐachcaFtrongbnh
Hình2:Mãlnhcacáclnhtngtácbyte

Cácbnchúýmtđiurng,đachcamtthanhghi,chcó7bitthôi,vànmtbit0
đnbit6.Mithanhghimcdùcó8bit,nhngđachcanóchcó7bit.
PhnOPCODEđâylàgì?Chínhlàphnmãhoáccáclnhmàchúngtavitnh
ADDWF,ANDWF,….Khivitnhthnày,làchúngtavitbngcácmãginh,trongkhi
đó,viđiukhinhiucáclnhnàydidngbit.Vìvy,nóphiđcmãhoáđviđiu
khinhiu.
Mtđimluýlàđivicáclnhtngtácbyte,phnmãhoácanódài6bit,nmtbit
8đnbit13.Trongđó,bit12–bit13=00(nhhình2.2)
Ktqu,chúngtathyrng,phnOPCODEcó6bit,nhnghaibitđutiênđãlà00,chính
vìvy,chcònli4bitđphânbitcáclnhvinhauvàchúngtachcótiđa16lnhtng
tácbyte.

2.2.2. Cáclnhtngtácbit

13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 OPCODE b b bĐachcaFtrongbnh
Hình3:Mãlnhcacáclnhtngtácbit

Tngtnhtrên,bitquyđnhđachcathanhghiFtrongcáclnhtngtácbitlà7bit,
nmtbit0đnbit6.Cácbitnmtbit7đnbit9dùngđquyđnhvtrícabitt0đn7
trongthanhghi(nghĩalàt000đn111).
Ngibáocáo:
ĐoànHip
Tàiliu:

BOOK03.02
Ngày:
10/31/2005
Trang:
9/47

PhnOPCODEcacáclnhtngtácbitcómãhoábtđubng01ngvibit12và13.
Chínhvìvy,phncònliđphânbitcáclnhkhimãhoáchcònli2bit,nênchcóthmã
hoáđc4lnh.Dođó,chúngtathyrngchcó4lnhtngtácbitlàBCF,BSF,BTFSCvà
BTFSS.

2.2.3. Cáclnhđiukhin

13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 OPCODE k(8bit)
Hình3:Mãlnhcacáclnhđiukhin

Chúngtathyrng,mãlnhcacáclnhđiukhincễngchcó6bit,8bitcònliđc
dànhchophngiátrknhpvào.Khácvicáclnhtngtácbytecó7bitdùngđchđach
mtthanhghivà1bitddùngđchnvtríđíchcaphéptính.
Haibit12và13canhómlnhnàyđcmcđnhlà11.PhnOPCODE6bitchcònli4
bitđphânbitcáclnhtrongnhómnày.Tuynhiên,trongnhómlnhnày,ngitakhông
dùnght16lnhmàchdùng6lnhlà:ADDLW,ANDLW,IORLW,MOVLW,SUBLWvà
XORLW

2.2.4. LnhGOTOvàCALL

13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 0 CALLk(11bit)
1 0 1 GOTOk(11bit)

Hình4:MãlnhcalnhCALLvàGOTO

Hailnhnàylàhailnhđcbit,phnOPCODEchcó3bit,cònli11bitlàđachcav
trícnnhyti(k).

2.2.5. Cáclnhđiukhinđcbit
Cáclnhđiukhinđcbit,làcáclnhkhôngtngtácvicácthanhghicóđachtrong
bnhdliu,baogmcáclnh:CLRWDT,NOP,RETURN,RETFIE,SLEEP
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
10/47

Cáclnhnàyvìkhôngchacácthanhghitrongmãlnh,nênphnđuOPCODEcanós
là000000(6bittbit13đnbit8đulà0).Nhhìnhsau:

13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0
0 Phnmãhoáđphânbitcáclnh
Hình5:Mãlnhcacáclnhđiukhinđcbit

Vymtđiulàmchúngtathcmclà,làmsaocáclnhnàyphânbitđcvilnh
MOVWF,vìlnhMOVWFcễngcóphnOPCODElà000000nhsau:

13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0

1 ĐachcaFtrongbnh
Hình6:MãlnhcalnhMOVWF

CácbnluýrnglnhMOVWFthìđíchtiđghiktquslàF,dođóvtríbitd(bit
7)slà1.Trongkhiđó,cáclnhđiukhinđcbit,mãlnhcanótivtríbit7slà0.
Nhvy,cáclnhđcmãhoámtcáchhoàntoàn.Trongphntiptheocachngnày,
chúngtôisđcpđntnglnhvàcáchsdngcáclnhnày.Tuynhiên,chúngtôikhông
nhclicthmãlnhcatnglnh,bivìthitnghĩrngnókhôngcnthitnavìmc
đíchcachúngtôilàvitcunsáchhngdncbn,chkhôngđisâuvàovnđnghiên
cumãcodeđpháttrinsâuvPIC.

2.3. Schukcamtlnh:
(chavitxong)
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
11/47

3. Giithíchtplnh
Phnnàychúngtôicgnggiithíchtnglnhmtcáchthtklng,đcácbncóth
hiurõvàsdngchínhxáctnglnh.
Ngoàira,vìlýdohngdnvàgiúpcácbnlàmquenvitplnhcaPICmtcách
nhanhchóng,chúngtôiquytđnhđovtrícamtslnhtrongtplnh,nhmgiúpcho
cácbnddàngghinhhn.
Trongphntplnhnày,phnghichúchomilnhlàrtquantrng.Nólàphnchúng
tôimuntrìnhbàyv

(chavitxong)
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
12/47

[nhãn] ADDLW k  ;NidungcathanhghiW
;đccngvis8bitk,
;ktquđcctlivàoW.

Thchinlnh:W=W+k
Cácbittrngtháibnhhng:C,DC,Z
kchcóthlàscógiátrtngđngmtsthpphânt0đn255

Víd:
Banđu: W =200 C =? DC =? Z =?
CONG_1 ADDLW d’50’  ;W=200+50
Ktqu:  W =250 C = DC = Z =

Nubâygichúngtatiptcthchinphépcngnhsau
CONG_2 ADDLW d’20’  ;W=250+20
Ktqu: W =14 C = DC = Z =

Ghichú:

 Đvitmtshthpphân(hcs10)cácbnvitd’XXX’,đvitmtstheohnh

phân(cs2)cácbnvitb’XXXXXXXX’,vàvitmtshthplcphân(cs16)các
bnvith’XX’hoc0xXX.
 Víd:d’50’,d’103’,b’01101101’,b’11011011’,h’C3’,0xA8,0x44…
 DòngPICmàchúngtatìmhiulàcácMCU8bit.Dovy,khôngthnàomtthanhghi
dliucóthchamtsmàgiátrcanólnhngiátrcóththhinbng8bit.
Nhc li rng, mt s 8 bit ch có th th hin mt s nh phân t b’00000000’đn
b’11111111’,haymtsthpphântd’0’đnd’255’vàsthplcphânt0x00đn
0xFF.Mtkhiphéptoáncnglàmtràn8bit,nóchcóthgiliktqulà8bit,còngiá
trtrànsbbqua.Tuynhiên,cácbittrngtháiC,Z,DCsbáochochúngtabitrng
thanhghibtràn.
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
13/47

[nhãn] ADDWF F, d ;NidungcathanhghiW
;đccngvinidungcathanhghiF,
;ktquđcctlivàod.

Thchinlnh:d=W+F
Cácbittrngtháibnhhng:C,DC,Z
Nud=W(0)thìktqusđcctvàoW,nud=F(1)thìktqusđccttrlivàoF.
Nukhôngvitdphíasau,xemnhmcđnhd=F.

Víd:


Banđu: W =200 BIEN =50 C =? DC =? Z =?
CONG_3ADDWF BIEN, W ;W=200+50
Ktqu: W =250 BIEN =50 C = DC = Z =

Nubâygichúngtatiptcthchinphépcngnhsau
CONG_4ADDWF BIEN, F ;BIEN=250+50
Ktqu:  W =200 BIEN=44 C = DC = Z =

Ghichú:Làmthnàođđttênchomtthanhghi?Chúngtacónhiucáchđttêncho
mtthanhghi.

 Cáchthnhtdùng
 ORG
0x20
BIEN RES 1 ;BIENcóđdàilà1bytebtđutđach
BIEN_2 RES 2 ;0x20.Haynóicáchkhác,BIENchínhlà
;thanhghicóđach0x20.Cáchnàydùngđ
;đttênchohànglotbinliêntipnhau.
;BIEN_2scóđdài
2bytebtđut0x21

 Cáchthhaidùngcblock.Cáchthbadùng#DEFINEđđttênchohngshocđt
tênchobincóđachđcđnhsn.Haicáchsauchúngtasnhctitrongphn
DIRECTIVE
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005

Trang:
14/47

[nhãn] ANDLW k ;“And”nidungcathanhghiW
;vis8bitk,
;ktquđcctlivàoW.

Thchinlnh:W=Wandk
Cácbittrngtháibnhhng:Z

kchcóthlàscógiátrtngđngmtsthpphânt0đn255

Víd:


Banđu: W =0xA3Z =?
AND_1 ANDLW 0x5F  ;W=0xA3and0x5F
Ktqu: W =0x03  Z =0

Ghichú:

 Zthayđikhivàchkhiktquđctrvcógiátrb’00000000’.Cácbnghinhnó
mtcáchrtđnginZ=ZERO.Khiktqucamtphéptínhtoánnàođóbng
ZEROthìbitZ=1,vànukhôngphilàZEROthìbitZ=0.
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005

Trang:
15/47

[nhãn] ANDWF F, d ;NidungcathanhghiW
;đcandvinidungcathanhghiF,
;ktquđcctlivàod.

Thchinlnh:d=WandF
Cácbittrngtháibnhhng:Z
Nud=W(0)thìktqusđcctvàoW,nud=F(1)thìktqusđccttrlivàoF.
Nukhôngvitdphíasau,xemnhmcđnhd=F.

Víd:

Banđu: W =0x17 REG =0xC2 Z =?
AND_2 ANDWF REG, F ;REG=0x17and0xC2
Ktqu:  W =0x17 REG =0x02 Z =0

Ghichú:

 Zthayđikhivàchkhiktquđctrvcógiátrb’00000000’.Cácbnghinhnó
mtcáchrtđnginZ=ZERO.Khiktqucamtphéptínhtoánnàođóbng
ZEROthìbitZ=1,vànukhôngphilàZEROthìbitZ=0.
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:

16/47

[nhãn] BCF F, b ;XoábitthbcathanhghiF
;
;

Thchinlnh:F(b)=0
Cácbittrngtháibnhhng:Khôngbitnàobnhhng

Víd:
Banđu: REG =b’11000111’
BIT_1 BCF REG, 7 ;REG(7)=0
Ktqu:  REG =b’01000111’





Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
17/47

[nhãn] BSF F, b ;ĐtbitthbcathanhghiF
;lên1
;


Thchinlnh:F(b)=1
Cácbittrngtháibnhhng:Khôngbitnàobnhhng

Víd:
Banđu: REG =b’01000111’
BIT_2 BSF REG, 7 ;REG(7)=1
Ktqu:  REG =b’11000111’


Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
18/47

[nhãn] BTFSC F, b ;NubitthbcathanhghiF
;cógiátr0,thìnhycáchramt
;dònglnh

Thchinlnh:ifF(b)=0,bqualnhtiptheo
Cácbittrngtháibnhhng:Khôngbitnàobnhhng

Víd:
Banđu: REG =b’01000111’
BIT_3 BTFSC REG, 7 ;REG(7)=0
FALSE_3 GOTO LAMVIEC_1 ;bqualnhnày,thchinNOP

TRUE_3 GOTO LAMVIEC_2 ;thchinlnhnàygotoLAMVIEC_2
Ktqu:  ThchinlnhnhãnTRUE_3,chkhôngthchinlnhnhãn
FALSE_3

Cácbnxemtipthídnày
Banđu: REG =b’11000111’
BIT_4 BTFSC REG, 7 ;REG(7)=1
FALSE_4 BCF REG, 0 ;thchinlnhnàyREG(0)=0
TRUE_4 GOTO LAMVIEC_2 ;thchinlnhnàygotoLAMVIEC_2
Ktqu:  REG =b’11000110’,sauđólnhnhãnTRUE_4vnđcthchintip
theo.

Ghichú:

 Nunhlnhkimtralàsai,cónghĩabitbcathanhghiFlà1,lnhtiptheosđc
thchinnhtrongvídBIT_4.Khiđó,lnhBTFSCchtn1chukmáy
 Tuynhiên,nuktqukimtralàđúng,cónghĩalàbitbcathanhghiFlà0,thayvì
thchinlnhtiptheonhvídBIT_4,nósthchinmtlnhNOP(khônglàmgì
c),sauđónónhyxungTRUE_3gingnhthídBIT_3.
 ChínhvìthchinmtlnhNOP,chonêntrongtrnghpkimtrađúng,chúngta
cóthcoinhlnhBTFSCtn2chukmáy,vàtrongtrnghpkimtrakhông
đúng,nóvnchtn1chukmáy.
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
19/47


[nhãn] BTFSS F, b ;NubitthbcathanhghiF
;cógiátr1,thìnhycáchramt
;dònglnh

Thchinlnh:ifF(b)=1,bqualnhtiptheo
Cácbittrngtháibnhhng:Khôngbitnàobnhhng

Víd:
Banđu: REG =b’11000111’
BIT_5 BTFSS REG, 7 ;REG(7)=1
FALSE_5 GOTO LAMVIEC_3 ;bqualnhnày,thchinNOP
TRUE_5 GOTO LAMVIEC_4 ;thchinlnhnàygotoLAMVIEC_4
Ktqu:  ThchinlnhnhãnTRUE_5,chkhôngthchinlnhnhãn
FALSE_5

Cácbnxemtipthídnày
Banđu: REG =b’01000111’
BIT_6 BTFSS REG, 7 ;REG(7)=1
FALSE_6 GOTO LAMVIEC_3 ;thchinlnhnàygotoLAMVIEC_3
TRUE_6 GOTO LAMVIEC_4 ;contrđãnhysangLAMVIEC_3
Ktqu: NhyđnLAMVIEC_3

Ghichú:
 VídBIT_6làmtvídđinhìnhtronglnhrnhánhđiukin.Nukimtramt
điukhinnàođóđúnghaysai,bnskimtramtbitđbitđúnghaysai.Thông
thng,vicrnhánhnàythngđcthchinvicácbittrngtháinhZ,DC,C…
Ngibáocáo:
ĐoànHip
Tàiliu:

BOOK03.02
Ngày:
10/31/2005
Trang:
20/47

[nhãn] CALL k  ;Gimtchngtrìnhcon

Thchinlnh:(PC)+1>TOS
  k>PC(10:0)
  (PCLATH(4:3))>PC(12:11)
Cácbittrngtháibnhhng:Khôngbitnàobnhhng
kchcóthlàscógiátrtngđngmtsthpphânt0đn2047
(chavitxong)
Víd:

Ghichú:
(phncáclnhchavitxong)
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
21/47

[nhãn] CLRF F  ;NidungcathanhghiW
;đccngvis8bitk,
;ktquđcctlivàoW.


Thchinlnh:W=W+k
Cácbittrngtháibnhhng:C,DC,Z
kchcóthlàscógiátrtngđngmtsthpphânt0đn255

Víd:
Banđu: W =200 C =? DC =? Z =?
CONG_1 ADDLW d’50’  ;W=200+50
Ktqu:  W =250 C = DC = Z =

Nubâygichúngtatiptcthchinphépcngnhsau
CONG_2 ADDLW d’20’  ;W=250+20
Ktqu: W =14 C = DC = Z =

Ghichú:

Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
22/47

[nhãn] CLRW;NidungcathanhghiW
;đccngvis8bitk,
;ktquđcctlivàoW.

Thchinlnh:W=W+k

Cácbittrngtháibnhhng:C,DC,Z
kchcóthlàscógiátrtngđngmtsthpphânt0đn255

Víd:
Banđu: W =200 C =? DC =? Z =?
CONG_1 ADDLW d’50’  ;W=200+50
Ktqu:  W =250 C = DC = Z =

Nubâygichúngtatiptcthchinphépcngnhsau
CONG_2 ADDLW d’20’  ;W=250+20
Ktqu: W =14 C = DC = Z =

Ghichú:

Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
23/47

[nhãn] CLRWDT;NidungcathanhghiW
;đccngvis8bitk,
;ktquđcctlivàoW.

Thchinlnh:W=W+k
Cácbittrngtháibnhhng:C,DC,Z
kchcóthlàscógiátrtngđngmtsthpphânt0đn255


Víd:
Banđu: W =200 C =? DC =? Z =?
CONG_1 ADDLW d’50’  ;W=200+50
Ktqu:  W =250 C = DC = Z =

Nubâygichúngtatiptcthchinphépcngnhsau
CONG_2 ADDLW d’20’  ;W=250+20
Ktqu: W =14 C = DC = Z =

Ghichú:

Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
24/47

[nhãn] COMF F, d ;NidungcathanhghiW
;đccngvis8bitk,
;ktquđcctlivàoW.

Thchinlnh:W=W+k
Cácbittrngtháibnhhng:C,DC,Z
kchcóthlàscógiátrtngđngmtsthpphânt0đn255

Víd:

Banđu: W =200 C =? DC =? Z =?
CONG_1 ADDLW d’50’  ;W=200+50
Ktqu:  W =250 C = DC = Z =

Nubâygichúngtatiptcthchinphépcngnhsau
CONG_2 ADDLW d’20’  ;W=250+20
Ktqu: W =14 C = DC = Z =

Ghichú:

Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
25/47

[nhãn] DECF F, d ;NidungcathanhghiW
;đccngvis8bitk,
;ktquđcctlivàoW.

Thchinlnh:W=W+k
Cácbittrngtháibnhhng:C,DC,Z
kchcóthlàscógiátrtngđngmtsthpphânt0đn255

Víd:
Banđu: W =200 C =? DC =? Z =?
CONG_1 ADDLW d’50’  ;W=200+50

Ktqu:  W =250 C = DC = Z =

Nubâygichúngtatiptcthchinphépcngnhsau
CONG_2 ADDLW d’20’  ;W=250+20
Ktqu: W =14 C = DC = Z =

Ghichú:

×