![第3章-MCS-51單片機(jī)指令系統(tǒng)-332-5算術(shù)-邏輯-控制-位_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/f05df93b-3eb5-4d97-957a-55a961c16f5a/f05df93b-3eb5-4d97-957a-55a961c16f5a1.gif)
![第3章-MCS-51單片機(jī)指令系統(tǒng)-332-5算術(shù)-邏輯-控制-位_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/f05df93b-3eb5-4d97-957a-55a961c16f5a/f05df93b-3eb5-4d97-957a-55a961c16f5a2.gif)
![第3章-MCS-51單片機(jī)指令系統(tǒng)-332-5算術(shù)-邏輯-控制-位_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/f05df93b-3eb5-4d97-957a-55a961c16f5a/f05df93b-3eb5-4d97-957a-55a961c16f5a3.gif)
![第3章-MCS-51單片機(jī)指令系統(tǒng)-332-5算術(shù)-邏輯-控制-位_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/f05df93b-3eb5-4d97-957a-55a961c16f5a/f05df93b-3eb5-4d97-957a-55a961c16f5a4.gif)
![第3章-MCS-51單片機(jī)指令系統(tǒng)-332-5算術(shù)-邏輯-控制-位_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/f05df93b-3eb5-4d97-957a-55a961c16f5a/f05df93b-3eb5-4d97-957a-55a961c16f5a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、3.3 MCS-513.3 MCS-51的指令集的指令集3.3.2 3.3.2 算術(shù)運(yùn)算類指令算術(shù)運(yùn)算類指令A(yù)DD ADD / / ADDC ADDC / / INC INC / / DA A DA A / / SUBB SUBB / / DEC DEC / / MUL MUL / / DIVDIV3.3.3 3.3.3 邏輯運(yùn)算類指令邏輯運(yùn)算類指令CLR CLR / / CPL CPL / / ANL ANL / / ORL ORL / / XRL XRL / / RL RL / / RLC RLC / / RR RR / / RRCRRC3.3.4 3.3.4 控制轉(zhuǎn)移指令控制轉(zhuǎn)移指令A(yù)J
2、MP AJMP / / LJMP LJMP / / SJMP SJMP / / JMP JMP / / JZ JZ / / JNZ JNZ / / CJNE CJNE / / DJNZ DJNZ ACALL ACALL / / LCALL LCALL / / RET RET / / RETI RETI / / NOPNOP3.3.5 3.3.5 位操作類指令位操作類指令MOV MOV / / CLR CLR / / SETB SETB / / ANL ANL / / ORL ORL / / CPL CPL JC JC / / JNC JNC / / JB JB / / JNB JNB / /
3、JBCJBC3.3.2 3.3.2 算術(shù)運(yùn)算類指令算術(shù)運(yùn)算類指令n1. 1. 加法指令加法指令 ADD ADD / / ADDC ADDC / / INC INC / / DA ADA An2. 2. 減法指令減法指令 SUBB SUBB / / DECDECn3. 3. 乘法指令乘法指令 MULMULn4. 4. 除法指令除法指令 DIVDIV1. 1. 加法指令加法指令p(1) (1) 不帶進(jìn)位的加法指令不帶進(jìn)位的加法指令 ADDADDp(2) (2) 帶進(jìn)位加法指令帶進(jìn)位加法指令 ADDCADDCp(3) (3) 增量指令增量指令 INCINCp(4) (4) 十進(jìn)制調(diào)整指令十進(jìn)制調(diào)整指
4、令 DA ADA A(1) (1) 不帶進(jìn)位的加法指令不帶進(jìn)位的加法指令 ADDADDp格式格式nADD A, ADD A, datadata;(A)(A)+#data;(A)(A)+#datanADD A, direct ADD A, direct ;(A)(A)+(direct;(A)(A)+(direct) ) nADD A, RiADD A, Ri;(A)(A)+(Ri;(A)(A)+(Ri)nADD A, RnADD A, Rn;(A)(A)+(Rn;(A)(A)+(Rn) )p對標(biāo)志位的影響對標(biāo)志位的影響nCyCy:最高位:最高位D7D7有進(jìn)位,有進(jìn)位,Cy=1Cy=1,否則,否則
5、Cy=0Cy=0nACAC:D3D3有進(jìn)位,有進(jìn)位,AC=1AC=1,否則,否則AC=0AC=0nOVOV:D6D6和和D7D7位只有一個(gè)有進(jìn)位,則位只有一個(gè)有進(jìn)位,則OV=1OV=1,否則,否則OV=0OV=0nP P:A A中有奇數(shù)個(gè)中有奇數(shù)個(gè)“1”1”,P=1P=1,否則,否則P=0P=0無符號數(shù):無符號數(shù):CYCY表示進(jìn)位、表示進(jìn)位、溢出溢出( (不考慮不考慮OV)OV) 有符號數(shù):有符號數(shù):OVOV表示溢出表示溢出( (不考慮不考慮CY)CY)p 例例110 1 1 1 1 0 0 0 1200 1 1 0 0 1 0 0 1001 1 0 1 1 1 0 0 220+無無符號數(shù)加法
6、:結(jié)果?符號數(shù)加法:結(jié)果?有有符號數(shù)加法:結(jié)果?符號數(shù)加法:結(jié)果?結(jié)果結(jié)果溢出?溢出?正確正確溢出溢出p 例例22n若:若:(A)=3BH(A)=3BH,(PSW)=0(PSW)=0,執(zhí)行指令,執(zhí)行指令 ADD AADD A,#3BH#3BHn結(jié)果:結(jié)果:(A)=_(A)=_,(PSW)=_(PSW)=_CyCyACACF0F0RS1RS1RS0RS0OVOVP P 0 0 1 1 1 0 1 10 0 1 1 1 0 1 1 + + 0 0 1 1 1 0 1 10 0 1 1 1 0 1 1 0 1 1 1 0 1 1 00 1 1 1 0 1 1 00 01 10 00 00 00 00
7、 01 176H76H41H41H無無符號數(shù)加法:結(jié)果?符號數(shù)加法:結(jié)果?有有符號數(shù)加法:結(jié)果?符號數(shù)加法:結(jié)果?正確正確無溢出無溢出p 例例33n若:若:(A)=09H(A)=09H,(R1)=7CH(R1)=7CH,(PSW)=0(PSW)=0n執(zhí)行:執(zhí)行:ADD AADD A, R1 R1 ;A(A)+(R1)A(A)+(R1)n結(jié)果:結(jié)果:(A)=_(A)=_,(PSW)=_(PSW)=_ 0 0 0 0 1 0 0 10 0 0 0 1 0 0 1 + + 0 1 1 1 1 1 0 00 1 1 1 1 1 0 0 1 0 0 0 0 1 0 11 0 0 0 0 1 0 1CyC
8、yACACF0F0RS1RS1RS0RS0OVOVP P0 01 10 00 00 01 10 01 185H85H45H45H無無符號數(shù)加法:結(jié)果?符號數(shù)加法:結(jié)果?有有符號數(shù)加法:結(jié)果?符號數(shù)加法:結(jié)果?正確正確溢出溢出p 例例44n若:若:(A)=87H(A)=87H,(R1)=0F5H(R1)=0F5H,(PSW)=0(PSW)=0n執(zhí)行:執(zhí)行:ADD AADD A, R1 R1 ;A(A)+(R1)A(A)+(R1)n結(jié)果:結(jié)果:(A)=_(A)=_,(PSW)=_(PSW)=_ 1 0 0 0 0 1 1 11 0 0 0 0 1 1 1 + + 1 1 1 1 0 1 0 11
9、1 1 1 0 1 0 1 0 1 1 1 1 1 0 00 1 1 1 1 1 0 0CyCyACACF0F0RS1RS1RS0RS0OVOVP P1 10 00 00 00 01 10 01 17CH7CH85H85H無無符號數(shù)加法:結(jié)果?符號數(shù)加法:結(jié)果?有有符號數(shù)加法:結(jié)果?符號數(shù)加法:結(jié)果?溢出不正確溢出不正確溢出溢出(2) (2) 帶進(jìn)位加法指令帶進(jìn)位加法指令 ADDADDC Cp格式格式nADDC A, RnADDC A, Rn;(A)(A)+(Rn);(A)(A)+(Rn)+(C+(C) )nADDC A, directADDC A, direct;(A)(A)+(direct
10、);(A)(A)+(direct)+(C+(C) )nADDC A, RiADDC A, Ri;(A)(A)+(Ri);(A)(A)+(Ri)+(C+(C) )nADDC A, ADDC A, datadata;(A)(A)+ ;(A)(A)+ datadata+(C+(C) )p對標(biāo)志位的影響對標(biāo)志位的影響n與與ADDADD指令相同指令相同(3) (3) 增量指令增量指令 INCINCp格式格式nINC AINC A;(A)(A)+1;(A)(A)+1nINC RnINC Rn;(Rn)(Rn)+1;(Rn)(Rn)+1nINC directINC direct;(direct)(direc
11、t)+1 ;(direct)(direct)+1 nINC RiINC Ri;(Ri)(Ri)+1 ;(Ri)(Ri)+1 nINC DPTRINC DPTR;(DPTR)(DPTR)+1;(DPTR)(DPTR)+1p先進(jìn)行先進(jìn)行 DPL + 1DPL + 1;產(chǎn)生;產(chǎn)生溢出溢出時(shí),就對時(shí),就對 DPH + 1DPH + 1p不影響任何標(biāo)志不影響任何標(biāo)志 p對標(biāo)志位的影響對標(biāo)志位的影響n除除 “INC A”INC A” 指令指令影響影響 P P 標(biāo)志標(biāo)志外,外,其余指令其余指令均不影響均不影響 PSW PSW 標(biāo)志標(biāo)志(4) (4) 十進(jìn)制調(diào)整指令十進(jìn)制調(diào)整指令 DA ADA Ap格式:格式
12、:DA ADA Ap功能功能n對對A A參與參與的的BCDBCD碼碼加法運(yùn)算加法運(yùn)算結(jié)果進(jìn)行結(jié)果進(jìn)行十進(jìn)制十進(jìn)制調(diào)整調(diào)整p調(diào)整后,調(diào)整后,A A中的內(nèi)容為中的內(nèi)容為2 2位位壓縮型壓縮型BCDBCD碼碼p特點(diǎn)特點(diǎn)n只能只能跟在跟在加法指令加法指令(ADD(ADD或或ADDC)ADDC)之后之后n不能不能對減法指令的結(jié)果進(jìn)行調(diào)整對減法指令的結(jié)果進(jìn)行調(diào)整n不影響不影響溢出標(biāo)志位溢出標(biāo)志位 OVOVp 例例11MOV A, 36HADD A, 45HDA A 0 0 1 1 0 1 1 0 360 1 0 0 0 1 0 1 450 1 1 1 1 0 1 1 7B0 0 0 0 0 1 1 0 0
13、6+1 0 0 0 0 0 0 1 81BCD碼碼參與運(yùn)算參與運(yùn)算進(jìn)行進(jìn)行加加法法調(diào)整得到兩位調(diào)整得到兩位壓縮壓縮BCD碼碼p 例例2 2 n執(zhí)行執(zhí)行 MOV A,#3FHMOV A,#3FHDA ADA An結(jié)果結(jié)果(A)=_(A)=_p 例例3 3 n執(zhí)行執(zhí)行 MOV A,#3FHMOV A,#3FHADD A,#12HADD A,#12HDA ADA An結(jié)果結(jié)果(A)=_(A)=_45H45H 63H63H BCD碼碼參與運(yùn)算參與運(yùn)算進(jìn)行進(jìn)行加加法法調(diào)整得到兩位調(diào)整得到兩位壓縮壓縮BCD碼碼57H57H 81H81H; ;調(diào)整前,調(diào)整前,沒沒進(jìn)行進(jìn)行加法加法運(yùn)算運(yùn)算; ;有有非壓縮非壓
14、縮BCDBCD數(shù)數(shù)參與加法參與加法運(yùn)算運(yùn)算2. 2. 減法指令減法指令p(1) (1) 帶進(jìn)位的減法指令帶進(jìn)位的減法指令 SUBBSUBBp(2) (2) 減減1 1指令指令 DECDEC(1) (1) 帶進(jìn)位的減法指令帶進(jìn)位的減法指令 SUBBSUBBp格式格式nSUBB A, RnSUBB A, Rn ;(A)(A)-(Rn;(A)(A)-(Rn) )-(C)-(C)nSUBB A, directSUBB A, direct ;(A)(A)-(direct);(A)(A)-(direct)-(C)-(C)nSUBB A, RiSUBB A, Ri;(A)(A)-(Ri;(A)(A)-(Ri
15、)-(C)-(C)nSUBB A, SUBB A, datadata;(A)(A)-;(A)(A)-datadata-(C)-(C)p對標(biāo)志位的影響對標(biāo)志位的影響n與與ADDADD指令相同,只是進(jìn)位在減法指令中為借位指令相同,只是進(jìn)位在減法指令中為借位進(jìn)行進(jìn)行不帶不帶借位借位的減法操作的減法操作, , 必須必須先將先將CyCy清清“0”0” (2) (2) 減減1 1指令指令 DECDECp格式格式nDEC ADEC A;(A)(A)-1;(A)(A)-1nDEC RnDEC Rn;(Rn)(Rn)-1;(Rn)(Rn)-1nDEC directDEC direct;(direct)(dire
16、ct)-1 ;(direct)(direct)-1 nDEC RiDEC Ri;(Ri)(Ri)-1;(Ri)(Ri)-1p對標(biāo)志位的影響對標(biāo)志位的影響n除除 “DEC A”DEC A” 指令指令影響影響 P P 標(biāo)志標(biāo)志外,外,其余指令其余指令均不影響均不影響 PSW PSW 標(biāo)志標(biāo)志3. 3. 乘法指令乘法指令 MUL MUL p格式格式nMUL ABMUL AB;BAB;BABA Ap無符號無符號數(shù)相乘數(shù)相乘p結(jié)果結(jié)果乘積乘積 0FFH 0FFH,則,則OV=1OV=1,否則,否則OV=0OV=0CY=0CY=0A(8(8位位) )B(8(8位位) ) BA(16(16位位) )4. 4
17、. 除法指令除法指令 DIVDIVp格式格式nDIV ABDIV ABp無符號無符號數(shù)相除數(shù)相除p結(jié)果結(jié)果OV=0OV=0;CY=0CY=0若原來若原來 B = 0B = 0,執(zhí)行后,執(zhí)行后A A 與與 B B 的內(nèi)容的內(nèi)容不定不定,OV=1OV=1AA.B商商余數(shù)余數(shù)B3.3.3 3.3.3 邏輯運(yùn)算類指令邏輯運(yùn)算類指令n1. 1. 簡單邏輯操作指令簡單邏輯操作指令 CLR A CLR A / / CPL A CPL An2. 2. 邏輯與指令邏輯與指令 ANLANLn3. 3. 邏輯或指令邏輯或指令 ORLORLn4. 4. 邏輯異或指令邏輯異或指令 XRL XRL n5. 5. 循環(huán)移位
18、指令循環(huán)移位指令 RL A RL A / / RLC A RLC A RR A RR A / / RRC A RRC A1. 1. 簡單邏輯操作指令簡單邏輯操作指令 CLR A CLR A / / CPL A CPL Ap格式格式nCLR ACLR A; ;對累加器對累加器A A清清“0”0”nCPL ACPL A; ;對累加器對累加器A A按按位位取反取反p不影響不影響CY, AC, OVCY, AC, OV等標(biāo)志等標(biāo)志p 例例 若(若(A A)=10101010B=10101010B執(zhí)行:執(zhí)行:CPL ACPL A結(jié)果:(結(jié)果:(A A)=01010101B=01010101B2. 2.
19、邏輯邏輯與與指令指令 ANLANLp格式格式nANL A, ANL A, datadata;(A)(A)#data;(A)(A)#data nANL A, Rn ANL A, Rn ;(A)(A)(Rn;(A)(A)(Rn) )nANL A, direct ANL A, direct ;(A)(A)(direct;(A)(A)(direct) ) nANL A, Ri ANL A, Ri ;(A)(A)(Ri;(A)(A)(Ri)nANL direct, ANL direct, data;(direct)(direct)#datadata;(direct)(direct)#data nANL
20、direct, A ANL direct, A ;(direct)(direct)A;(direct)(direct)Ap功能功能n兩個(gè)操作數(shù)兩個(gè)操作數(shù)按位按位邏輯邏輯與與,結(jié)果,結(jié)果送回送回目的目的操作數(shù)操作數(shù)p寄存器不是寄存器不是A A或或PSWPSW時(shí),不影響標(biāo)志,否則影響標(biāo)志位時(shí),不影響標(biāo)志,否則影響標(biāo)志位3. 3. 邏輯邏輯或或指令指令 ORLORLp格式格式nORL A, ORL A, datadata;(A)(A)#data;(A)(A)#data nORL A, RnORL A, Rn;(A)(A)(Rn;(A)(A)(Rn) ) nORL A, directORL A, di
21、rect;(A)(A)(direct;(A)(A)(direct) ) nORL A, RiORL A, Ri;(A)(A)(Ri;(A)(A)(Ri)nORL direct, ORL direct, data;(direct)(direct)#datadata;(direct)(direct)#datanORL direct, AORL direct, A;(direct)(direct)A;(direct)(direct)A p功能功能n兩個(gè)操作數(shù)兩個(gè)操作數(shù)按位按位邏輯邏輯或或,結(jié)果,結(jié)果送回送回目的目的操作數(shù)操作數(shù)p寄存器不是寄存器不是A A或或PSWPSW時(shí),不影響標(biāo)志,否則影響標(biāo)志位
22、時(shí),不影響標(biāo)志,否則影響標(biāo)志位4. 4. 邏輯邏輯異或異或指令指令 XRL XRL p格式格式nXRL A, XRL A, data data nXRL A, RnXRL A, RnnXRL A, direct XRL A, direct nXRL A, RiXRL A, Ri nXRL direct, XRL direct, data data nXRL direct, A XRL direct, A p功能功能n兩個(gè)操作數(shù)的內(nèi)容兩個(gè)操作數(shù)的內(nèi)容按位按位邏輯邏輯異或異或操作,結(jié)果操作,結(jié)果送回送回目的目的操作數(shù)操作數(shù)p寄存器不是寄存器不是A A或或PSWPSW時(shí),不影響標(biāo)志,否則影響標(biāo)志位時(shí)
23、,不影響標(biāo)志,否則影響標(biāo)志位ABXOR A,B000101011110邏輯運(yùn)算指令的常見用法邏輯運(yùn)算指令的常見用法p邏輯邏輯 與與 ANLANLn清清0 0 或者或者 保留保留 某些位某些位p邏輯邏輯 或或 ORLORLn置置1 1 或者或者 保留保留 某些位某些位p邏輯邏輯 異或異或 XRLXRLn取反取反 或者或者 保留保留 某些位某些位將將A A的的D4D4、D3D3清清0 0ANL AANL A,#0E7H#0E7H將將A A的的D1D1、D0D0置置1 1 ORL AORL A,#03H#03H將將A A的的D7D7、D6D6取反取反XRL AXRL A,#0C0H#0C0H將將A
24、A的的D4D4、D3D3清清0 0ANL AANL A,#0E7H#0E7H將將A A的的D1D1、D0D0置置1 1 ORL AORL A,#03H#03H將將A A的的D7D7、D6D6取反取反XRL AXRL A,#0C0H#0C0H5. 5. 循環(huán)移位指令循環(huán)移位指令 RL A RL A / / RLC A RLC A / / RR A RR A / / RRC A RRC Ap僅僅帶帶進(jìn)位標(biāo)志位進(jìn)位標(biāo)志位的移位指令的移位指令影響影響CYCY和和P P標(biāo)志標(biāo)志p僅移僅移 1 1 位位ACC.7ACC.0ACC.7ACC.0RL RL A ; ;循環(huán)左移循環(huán)左移ACC.7ACC.0ACC
25、.7ACC.0RR RR A ; ;循環(huán)右移循環(huán)右移ACC.7ACC.0ACC.7ACC.0RLC RLC A ; ;帶進(jìn)位循環(huán)左移帶進(jìn)位循環(huán)左移CYCYACC.7ACC.0ACC.7ACC.0RRC RRC A ; ;帶進(jìn)位循環(huán)右移帶進(jìn)位循環(huán)右移CYCYp 例例 用用9 9位循環(huán)指令實(shí)現(xiàn)多字節(jié)移位位循環(huán)指令實(shí)現(xiàn)多字節(jié)移位編程將寄存器編程將寄存器 R6, R5 R6, R5 中的雙字節(jié)數(shù)中的雙字節(jié)數(shù)X X左移一位。左移一位。CLRCLRC CMOVMOVA,R5A,R5RLCRLCA AMOVMOVR5,AR5,AMOVMOVA,R6A,R6RLCRLCA AMOVMOVR6,AR6,AR5.
26、7 R5.6 R5.5 R5.4 R5.3 R5.2 R5.1 R5.0AACR5.6 R5.5 R5.4 R5.3 R5.2 R5.1 R5.00R5.7R5R6.7 R6.6 R6.5 R6.4 R6.3 R6.2 R6.1 R6.0R6.7R6.6 R6.5 R6.4 R6.3 R6.2 R6.1 R6.0 R5.7R63.3.4 3.3.4 控制轉(zhuǎn)移指令控制轉(zhuǎn)移指令p1.1. 無條件轉(zhuǎn)移指令無條件轉(zhuǎn)移指令A(yù)JMP AJMP / / LJMP LJMP / / SJMP SJMP / / JMPJMPp2.2. 條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令 JZ JZ / / JNZJNZp3. 3. 比較
27、比較轉(zhuǎn)移指令轉(zhuǎn)移指令 CJNECJNEp4. 4. 減減 1 1 不為不為 0 0 轉(zhuǎn)移指令轉(zhuǎn)移指令 DJNZDJNZp5. 5. 調(diào)用和返回指令調(diào)用和返回指令 ACALL ACALL / / LCALL LCALL / / RET RET / / RETIRETIp6. 6. 空操作指令空操作指令 NOPNOP1.1. 無條件轉(zhuǎn)移指令無條件轉(zhuǎn)移指令 AJMPAJMP/ /LJMPLJMP/ /SJMPSJMP/ /JMPJMPp(1) (1) 絕對轉(zhuǎn)移指令絕對轉(zhuǎn)移指令nAJMP addr11AJMP addr11; ;(PCPC)(PCPC)+ 2+ 2; ;(PCPC10100 0) ad
28、draddr1111 p(2) (2) 長轉(zhuǎn)移指令長轉(zhuǎn)移指令nLJMP addr16LJMP addr16;(PC) addr;(PC) addr1616p(3) (3) 短轉(zhuǎn)移指令短轉(zhuǎn)移指令nSJMP relSJMP rel;(PC) (PC) + 2;(PC) (PC) + 2;(PC) (PC) + rel;(PC) (PC) + relp(4) (4) 間接轉(zhuǎn)移指令間接轉(zhuǎn)移指令nJMP A+DPTRJMP A+DPTR;(PC) ;(PC) (A A)+ +(DPTRDPTR)范圍范圍:2kB:2kB范圍范圍:64kB:64kB范圍范圍:-128:-128+127+127可以是直接地址
29、或符號地址利用轉(zhuǎn)移指令表,實(shí)現(xiàn)程序利用轉(zhuǎn)移指令表,實(shí)現(xiàn)程序分支轉(zhuǎn)移分支轉(zhuǎn)移無符號數(shù)無符號數(shù)p 例例1 1 地址地址 源代碼源代碼 注釋注釋-|-|- -| |-1.1.0100H | 0100H | SJMP NEWADD SJMP NEWADD | |;(PC);(PC)(PC)+2;(PC)(PC)+rel(PC)+2;(PC)(PC)+rel2.2.0102H | 0102H | | |3.3. | | | |4.4.0123H 0123H | |NEWADDNEWADD: : |;|;標(biāo)號標(biāo)號NEWADDNEWADD所指位置所指位置p 例例2 2 若(若(A A)=10H=10H,(,
30、(DPTRDPTR)=2000H=2000H執(zhí)行:執(zhí)行: JMP A+DPTR JMP A+DPTR 結(jié)果:結(jié)果: (PCPC)= 2010H= 2010H2.2. 條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令JZ JZ / / JNZJNZp(1)(1)nJZ relJZ rel ; ; 若若(A)(A)= =0,0,則則 (PC) (PC) (PC) (PC) + 2+ 2 + rel + rel ; , ; ,否則否則 (PC) (PC) (PC) (PC) + 2+ 2p(2)(2)nJNZ relJNZ rel; ; 若若(A)(A)0,0,則則 (PC) (PC) (PC) (PC) + 2+ 2 +
31、 rel + rel ; ,; ,否則否則 (PC) (PC) (PC) (PC) + 2+ 2p目標(biāo)地址目標(biāo)地址n以以下一條指令下一條指令起始地址起始地址為中心為中心的的 256 256 個(gè)字節(jié)個(gè)字節(jié)范圍之內(nèi)(范圍之內(nèi)(-128 -128 +127+127)無符號整數(shù)無符號整數(shù)3. 3. 比較比較轉(zhuǎn)移指令轉(zhuǎn)移指令 CJNECJNEp格式格式nCJNE CJNE A A , direct, rel , direct, relnCJNE CJNE A A , , data, reldata, relnCJNE CJNE RnRn , , data, reldata, relnCJNE CJNE
32、RiRi , , data, reldata, relp功能功能n比較比較前兩個(gè)操作數(shù)的前兩個(gè)操作數(shù)的大小大小p不相等,不相等,程序轉(zhuǎn)移:程序轉(zhuǎn)移: (PC) (PC)+3+relp相等,相等,程序繼續(xù)執(zhí)行:程序繼續(xù)執(zhí)行: (PC) (PC)+3 n若:第一個(gè)操作數(shù)若:第一個(gè)操作數(shù) 小于第二個(gè)操作數(shù)小于第二個(gè)操作數(shù)p則,則,Cy=1Cy=1;否則,;否則,Cy=0Cy=0n指令指令不影響不影響操作數(shù)內(nèi)容操作數(shù)內(nèi)容 范圍范圍:-128:-128+127+1274. 4. 減減 1 1 不為不為 0 0 轉(zhuǎn)移指令轉(zhuǎn)移指令 DJNZDJNZp格式格式nDJNZ Rn,relDJNZ Rn,rel ;
33、(PC)(PC)+2;(PC)(PC)+2,(Rn)(Rn)(Rn)-1(Rn)-1 ; ;若若(Rn)(Rn)0 0,(PC)(PC)(PC)(PC)+rel+rel ; ;若若(Rn(Rn) )= =0 0,(PC)(PC)(PC)(PC) nDJNZ direct,relDJNZ direct,rel;(PC)(PC)+3;(PC)(PC)+3,(direct)(direct)(direct)-1(direct)-1 ; ;若若(direct)(direct)0 0,(PC)(PC)(PC)(PC)+rel+rel ; ;若若(direct)(direct)= =0 0,(PC)(PC)
34、(PC)(PC)p功能功能n循環(huán)程序中,控制循環(huán)程序中,控制循環(huán)次數(shù)循環(huán)次數(shù)p 例例11MOVMOVA,#0HA,#0HDELAY:DELAY:MOV R6,#4HMOV R6,#4HD1:D1:INC AINC ADJNZ R6,D1DJNZ R6,D1此段程序執(zhí)行后,此段程序執(zhí)行后,(A)=_H(A)=_H0404p 例例22MOVMOVA,#0HA,#0HDELAY:DELAY:MOV R6,#4HMOV R6,#4HD1:D1:INC AINC AMOVMOVR6,#2HR6,#2HDJNZ R6,D1DJNZ R6,D1此段程序執(zhí)行后,此段程序執(zhí)行后,(A)=_H(A)=_H0404
35、“死死”循循環(huán)環(huán)5. 5. 調(diào)用和返回指令調(diào)用和返回指令 ACALL ACALL / / LCALL LCALL / / RET RET / / RETIRETIp子程序子程序n具有具有 一定功能一定功能 的的 程序程序 編寫成編寫成 子程序子程序p減少工作量、縮短程序長度減少工作量、縮短程序長度n通過通過主程序主程序調(diào)用調(diào)用來使用來使用p(1) (1) 調(diào)用指令調(diào)用指令 ACALL ACALL / / LCALLLCALL p(2) (2) 返回指令返回指令 RET RET / / RETIRETI堆棧操作堆棧操作保存保存程序程序斷點(diǎn)斷點(diǎn)(1) (1) 調(diào)用指令調(diào)用指令 ACALL ACAL
36、L / / LCALLLCALL p(1)(1)短調(diào)用(短調(diào)用(范圍:范圍:_ )ACALL addrACALL addr1111;(PC) (PC) + ;(PC) (PC) + 2 2;SP SP + 1;SP SP + 1,(SP)(PC(SP)(PC7 70 0) );SP SP + 1;SP SP + 1,(SP)(PC(SP)(PC15158 8) );(PC;(PC10100 0) addr11) addr11p(2)(2)長調(diào)用(長調(diào)用(范圍:范圍:_ )LCALL addrLCALL addr1616 ;(PC)(PC) + ;(PC)(PC) + 3 3;SP SP + 1
37、;SP SP + 1,(SP)(PC(SP)(PC7 70 0) );SP SP + 1;SP SP + 1,(SP)(PC(SP)(PC15158 8) );(PC) addr16;(PC) addr162kB2kB64kB64kB(2) (2) 返回指令返回指令 RET RET / / RETIRETIp子程序返回指令子程序返回指令 RETRETn恢復(fù)斷點(diǎn)恢復(fù)斷點(diǎn)p將將調(diào)用調(diào)用子程序時(shí)子程序時(shí)壓入堆棧壓入堆棧的的下一條指令的首地下一條指令的首地址(即:程序的址(即:程序的斷點(diǎn)斷點(diǎn))取出取出送入送入PCPC,使,使返回返回主程序繼續(xù)執(zhí)行主程序繼續(xù)執(zhí)行p中斷返回指令中斷返回指令 RETIRET
38、In功能與功能與 RETRET 指令指令相似相似p不同:還要不同:還要清除清除中斷狀態(tài)標(biāo)志中斷狀態(tài)標(biāo)志6. 6. 空操作指令空操作指令 NOPNOPp格式格式nNOP ;(PC) (PC) + 1NOP ;(PC) (PC) + 1p功能功能nCPUCPU不不產(chǎn)生產(chǎn)生任何任何控制控制操作操作n將將PCPC的內(nèi)容的內(nèi)容加加1 1,執(zhí)行,執(zhí)行下一條指令下一條指令n耗費(fèi)耗費(fèi)1 1個(gè)機(jī)器周期個(gè)機(jī)器周期p常用于常用于較短時(shí)間的較短時(shí)間的延時(shí)延時(shí)3.3.5 3.3.5 位操作類指令位操作類指令p1. 1. 位傳送位傳送 MOVMOVp2. 2. 位狀態(tài)置位位狀態(tài)置位 CLR CLR / / SETB SE
39、TB p3. 3. 位邏輯運(yùn)算位邏輯運(yùn)算 ANL ANL / / ORL ORL / / CPLCPLp4. 4. 位變量條件轉(zhuǎn)移指令位變量條件轉(zhuǎn)移指令JC JC / / JNC JNC / / JB JB / / JNB JNB / / JBCJBC可位尋址區(qū)可位尋址區(qū)回顧:片內(nèi)回顧:片內(nèi)RAMRAMp工作寄存器區(qū):工作寄存器區(qū):n字節(jié)地址:字節(jié)地址:00H00H1FH1FHp數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū)/ /堆棧區(qū):堆棧區(qū):n字節(jié)地址:字節(jié)地址:00H00H7FH7FHn一般使用一般使用30H30H7FH7FHp位尋址區(qū):位尋址區(qū):n字節(jié)地址:字節(jié)地址:20H20H2FH2FHn位地址為:位地址為
40、:00H00H7FH7FH可位尋址區(qū)可位尋址區(qū)回顧:特殊功能寄存器回顧:特殊功能寄存器SFRSFRp占用字節(jié)地址:占用字節(jié)地址:80H80HFFHFFHp專用寄存器:專用寄存器:nA A、B B、PSWPSW、DPTRDPTR、SPSPpI/OI/O接口寄存器:接口寄存器:nP0P0、P1P1、P2P2、P3P3、SBUFSBUF、TMODTMOD、TCONTCON、SCON SCON p位尋址寄存器:位尋址寄存器:n其字節(jié)地址其字節(jié)地址可被可被8 8整除整除可位尋址區(qū)可位尋址區(qū)回顧:位地址表達(dá)形式回顧:位地址表達(dá)形式p(1) (1) 直接地址方式直接地址方式 如:如:0A8H0A8Hp(2)
41、 (2) 字節(jié)地址加位序號字節(jié)地址加位序號 如:如:0D0H.50D0H.5p(3) (3) 點(diǎn)操作符方式點(diǎn)操作符方式 如:如:PSW.1 PSW.1 p(4) (4) 位名稱方式位名稱方式 如:如:TR0TR0、TR1 TR1 p(5) (5) 偽指令定義方式偽指令定義方式 如:如:PO1 PO1 BITBIT P0.1 ; P0.1 ;允許允許PO1PO1代替代替P0.1P0.11. 1. 位傳送位傳送 MOVMOVp格式格式nMOV MOV C, bit, bit; (Cy) (bit); (Cy) (bit)nMOV bit, MOV bit, C; (bit) ; (bit) (Cy
42、Cy)p 例例 若(若(CYCY)= 0= 0n執(zhí)行指令執(zhí)行指令MOV P0.0MOV P0.0,C CMOV 0D5HMOV 0D5H,C Cn執(zhí)行后:執(zhí)行后: P0.0 = 0P0.0 = 0,PSW.5 = 0PSW.5 = 02. 2. 位狀態(tài)置位位狀態(tài)置位 CLR CLR / / SETB SETB p(1)(1)位位清零清零nCLR C CLR C ;(Cy) 0 ;(Cy) 0 n CLR bit CLR bit ;(bit) 0 ;(bit) 0 p(2)(2)位位置位置位nSETB CSETB C;(Cy) 1 ;(Cy) 1 n SETB bit SETB bit ;(bit) 1;(bit) 1p不影響不影響其它標(biāo)志其它標(biāo)志3. 3. 位邏輯運(yùn)算位邏輯運(yùn)算 ANL ANL / / ORL ORL / / CPLCPLp(1)(1)位邏輯位邏輯 “ “”pANL ANL C, /bit , /bit ;(Cy)(Cy;(Cy)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代科技在中藥植物油提取中的綠色環(huán)保策略
- 生活用紙?jiān)O(shè)計(jì)新趨勢創(chuàng)新驅(qū)動的消費(fèi)者體驗(yàn)升級
- 生態(tài)保護(hù)與零碳公園規(guī)劃的融合實(shí)踐
- 國慶節(jié)活動方案活動內(nèi)容
- 現(xiàn)代服務(wù)業(yè)的綠色發(fā)展路徑探索
- 小學(xué)勞動教育考核方案
- 2024年五年級英語下冊 Unit 7 Chinese festivals第6課時(shí)說課稿 譯林牛津版
- 2024年秋七年級歷史上冊 第14課 溝通中外文明的“絲綢之路”說課稿 新人教版
- Unit 3 My friends Read and write(說課稿)-2024-2025學(xué)年人教PEP版英語四年級上冊
- 3 我不拖拉 第一課時(shí)(說課稿)2023-2024學(xué)年統(tǒng)編版道德與法治一年級下冊
- 健康管理-理論知識復(fù)習(xí)測試卷含答案
- 成人腦室外引流護(hù)理-中華護(hù)理學(xué)會團(tuán)體 標(biāo)準(zhǔn)
- JGJ106-建筑基樁檢測技術(shù)規(guī)范
- 高技能公共實(shí)訓(xùn)基地建設(shè)方案
- 市第一人民醫(yī)院“十四五”發(fā)展規(guī)劃(2020-2025)
- 2024年湖北孝達(dá)交通投資有限公司招聘筆試沖刺題(帶答案解析)
- 四年級上冊豎式計(jì)算100題及答案
- 小學(xué)英語跨學(xué)科案例設(shè)計(jì)
- 初中作業(yè)設(shè)計(jì)教師培訓(xùn)
- JTGT F20-2015 公路路面基層施工技術(shù)細(xì)則
- 高考滿分作文常見結(jié)構(gòu)
評論
0/150
提交評論