3-2算術(shù)運(yùn)算指令.ppt_第1頁
3-2算術(shù)運(yùn)算指令.ppt_第2頁
3-2算術(shù)運(yùn)算指令.ppt_第3頁
3-2算術(shù)運(yùn)算指令.ppt_第4頁
3-2算術(shù)運(yùn)算指令.ppt_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、單片機(jī)原理與應(yīng)用,3.3.2 算術(shù)運(yùn)算類指令,知識(shí)回顧,常用堆棧指令有哪些? 執(zhí)行指令后的結(jié)果: (A)=05H,(R1)=50H,(50H)=75H,(SP)=60H 1. XCHA,R1 2. XCHDA,R1 3. XCHA,50H 4. PUSH ACC,二、算術(shù)運(yùn)算指令 (24),1.加減指令: 加法指令 (4) 帶進(jìn)位加法指令 (4) 帶借位減法指令 (4) 2.乘法指令 (1) 3.除法指令 (1) 4.加1指令 (5) 5.減1指令 (4) 6.十進(jìn)制調(diào)整指令 (1),1. 加減指令 加法指令 將源操作數(shù)和累加器A的內(nèi)容相加,其結(jié)果放在累加器A中 ADD A,Rn ;(A) (

2、A)+(Rn) ADD A , direct ;(A) (A)+(direct) ADD A , Ri ;(A) (A)+(Ri) ADD A , #data ;(A) (A)+ data,指令結(jié)果均影響PSW中的CY、AC、 OV 、P標(biāo)志。,CY:進(jìn)位標(biāo)志,D7有進(jìn)(借)位,CY=1,否則為0。 AC:半進(jìn)位標(biāo)志,D3有進(jìn)(借)位,AC=1,否則為0。 OV:溢出標(biāo)志, D7有進(jìn)位D6無進(jìn)位(兩個(gè)負(fù)數(shù)相加為正數(shù)) D6有進(jìn)位D7無進(jìn)位(兩個(gè)正數(shù)相加為負(fù)數(shù)) OV1,否則為0 。 P:奇偶標(biāo)志,1的個(gè)數(shù)為奇數(shù)個(gè),P=1;否則P=0。,例:設(shè)(A)=0C3H,(R0)=20H,(20H)=0A

3、9H, 執(zhí)行ADDA,R0 1 1 0 0 0 0 1 1=0C3H +1 0 1 0 1 0 0 1=0A9H,結(jié)果為(A)=6CH,CY=1,AC=0,OV=1,P=0,1 0 1 1 0 1 1 0 0=6CH,帶進(jìn)位加法指令 將源操作數(shù)和累加器A的內(nèi)容以及CY的內(nèi)容相加,其結(jié)果放在累加器中 ADDC A,Rn ;(A) (A)+( Rn)+CY ADDC A , direct ; (A) (A)+( direct)+CY ADDC A , Ri ;(A) (A)+(Ri)+CY ADDC A , #data ;(A) (A)+ data+CY 注意: 與加法指令結(jié)果均影響PSW中的CY

4、、AC、 OV 、P標(biāo)志。,例2:設(shè)(A)=0C3H,(R0)=20H,(20H)=0A9H,CY=1 執(zhí)行ADDC A,R0 1 1 0 0 0 0 1 1=0C3H +1 0 1 0 1 0 0 1=0A9H 1,結(jié)果為(A)=6DH,CY=1,AC=0, OV=1,P=1,1 0 1 1 0 1 1 0 1=6DH,帶借位減法指令 將累加器A的內(nèi)容減去第二操作數(shù),再減去CY,其結(jié)果放在累加器A中 。 SUBB A,Rn ;(A) (A)-( Rn)-CY SUBB A , direct ;(A) (A)-( direct)-CY SUBB A , Ri ;(A) (A)-( Ri)-CY

5、 SUBB A , #data ;(A) (A)- data-CY,注意: 指令結(jié)果均影響PSW中的CY、AC、 OV 、P標(biāo)志。 減法指令沒有不帶借位的減法指令,所以在需要時(shí),必須先將CY標(biāo)志清0。,例3:設(shè)(A)=0C3H,(R0)=20H,CY=1 執(zhí)行SUBB A,R0 1 1 0 0 0 0 1 1=0C3H 0 0 1 0 0 0 0 0 =20H 1,結(jié)果為(A)=0A2H,CY=0,AC=0, OV=0,P=1,1 0 1 0 0 0 1 0=0A2H,練習(xí),(R1)(R0)被減數(shù) (R3)(R2)減數(shù),(R7)(R6)差 試編一程序,2.乘法指令,MULAB 功能:(B) (

6、A) (A)*(B) 高8位 低8位,乘數(shù)和被乘數(shù)必須放在A、B中,乘積的高8位存入寄存器B中,低8位存入累加器A中。,注意: 指令結(jié)果影響PSW中的 OV CY P CY 總是被清零 OV 積超過0FFH時(shí)置1,否則為0 P 當(dāng)1的個(gè)數(shù)為奇數(shù)個(gè),P=1;否則P=0。,3.除法指令,DIV A B 功能:(B)(A) (A)/(B) 余數(shù) 商,A中的被除數(shù)除以B中的除數(shù),商存入累加器A中,余數(shù)存入寄存器B中。,注意: 指令結(jié)果影響PSW中的 OV CY P OV :除數(shù)為0時(shí)置1,否則為0。 CY:總是被清零 P:當(dāng)1的個(gè)數(shù)為奇數(shù)個(gè),P=1;否則P=0。,4. 加1指令 將操作數(shù)加1后送回操作

7、數(shù) INC A ;(A) (A)+1 INC Rn ;( Rn ) ( Rn )+1 INC direct ;(direct ) (direct)+1 INC Ri ;(Ri ) (Ri)+1 INC DPTR ;(DPTR ) (DPTR)+1 以上指令除第一條指令結(jié)果影響PSW中的P標(biāo)志外,其他指令結(jié)果均不影響PSW中的CY、AC、 OV 、P標(biāo)志。,例5 設(shè)(20H)=2FH,(R1)=20H,(DPTR)=2009H,(A)=FFH 執(zhí)行INC R1 INCR1 INCDPTR INC20H INCA,結(jié)果為(20H)=30H,(R1)=21H (DPTR)=200AH,(20H)=3

8、1H, (A)=00H,5. 減1指令 將操作數(shù)減1后送回操作數(shù) DEC A ;(A) (A)-1 DEC Rn ;(Rn ) ( Rn )-1 DEC direct ;(direct ) (direct)-1 DEC Ri ;( Ri ) (Ri)-1,!無 DECDPTR指令,以上指令除第一條指令結(jié)果影響PSW中的P標(biāo)志外,其他指令結(jié)果均不影響PSW中的CY、AC、 OV 、P標(biāo)志。,例6 設(shè)(20H)=30H,(R1)=20H,(A)=2AH 執(zhí)行DEC R1 DEC R1 DEC 20H DEC A,結(jié)果為(20H)=2FH,(R1)=1FH (20H)=2FH,(A)=29H,6.

9、十進(jìn)制調(diào)整指令 DAA 功能: 對(duì)兩個(gè)BCD碼十進(jìn)制數(shù)加減運(yùn)算的結(jié)果(即累加器A的內(nèi)容)進(jìn)行修正。 指令結(jié)果影響PSW中的CY、AC、 P標(biāo)志。,MOVA,R1CLR CSUBBA,R0MOVR2,A,練習(xí):試編一程序,滿足: (R1)-(R0)=(R2),MOV A,R1ADD A,R0DA AMOVR2,A,練習(xí)2:試編一程序,兩個(gè)BCD碼分別存放在R0和R1中, 使得(R1)+(R0)=(R2),三、邏輯運(yùn)算指令與移位指令,1.邏輯與運(yùn)算: (ANL6條) 2.邏輯或運(yùn)算: (ORL6條) 3.邏輯異或運(yùn)算: (XRL6條) 4.累加器清零/取反: (CLR,CPL2條) 5.累加器(循

10、環(huán))移位操作: (RL,RLC,RR,RRC4條),1. 邏輯與指令 ANLA,Rn; ANLA , direct ANLA , Ri ANLA , # data ANLdirect,A ANLdirect,#data,將操作數(shù)之間按位相與,其結(jié)果放在目的操作數(shù)中。 邏輯與:有0得0,全1為1。,例1:(30H)=45H 執(zhí)行ANL30H,#0FH指令后 0 1 0 0 0 1 0 1 =45H 0 0 0 0 1 1 1 1 =0FH 0 0 0 0 0 1 0 1 =05H (30H)=05H 結(jié)論:能實(shí)現(xiàn)對(duì)某些位清零。 對(duì)PSW:只有目的操作數(shù)為A時(shí) ,影響奇偶標(biāo)志位P,2. 邏輯或指令

11、 ORLA,Rn ORLA , direct ORLA , Ri ORLA , # data ORLdirect,A ORLdirect,#data 將操作數(shù)之間按位相或,其結(jié)果放在目的操作數(shù)中。 邏輯或:有1得1,全0為0。,例2:(30H)=45H ORL30H,#0FH 執(zhí)行指令后: 0 1 0 0 0 1 0 1 =45H 0 0 0 0 1 1 1 1 =0FH 0 1 0 0 1 1 1 1 =4FH (30H)=4FH 結(jié)論:能實(shí)現(xiàn)對(duì)某些位置1。 對(duì)PSW:只有目的操作數(shù)為A時(shí) ,影響奇偶標(biāo)志位P,3. 邏輯異或指令 XRLA,Rn XRLA , direct XRLA , Ri

12、 XRLA , # data XRLdirect,A XRLdirect,#data 將操作數(shù)之間按位異或,其結(jié)果放在目的操作數(shù)中。 邏輯異或:相同為0,相異為1,例3(30H)=45H XRL30H,#0FH 執(zhí)行指令后: 0 1 0 0 0 1 0 1 =45H 0 0 0 0 1 1 1 1 =0FH 0 1 0 0 1 0 1 0 =4AH (30H)=4AH 結(jié)論:能實(shí)現(xiàn)對(duì)某些位取反。 對(duì)PSW:只有目的操作數(shù)為A時(shí) ,影響奇偶標(biāo)志位P,練習(xí),將A中的內(nèi)容低4位清零,高4位保持不變。,ANLA,#0F0H,將A 中的內(nèi)容低6位置1。,ORL A,#3FH,將A 中的內(nèi)容低5位取反。,

13、XRLA,#1FH,將A 中的內(nèi)容低4位清零后與20H低4位互換。,練習(xí),ANL A,#0F0H, MOV R0,#20H XCHD A,R0,將A 中的內(nèi)容低3位送至P0,并保持P0高5位不變。,練習(xí),ANL A,#07H, ANL P0,#0F8H ORL P0,A,4. 累加器清零/取反: 清零指令: CLRA;(A)=00H 取反指令: CPLA;每一個(gè)邏輯位取反 只能對(duì)累加器A操作,例:(A)=35H 執(zhí)行指令后的結(jié)果: CLRA ;(A)=00H 例:(A)=35H 執(zhí)行指令后的結(jié)果: CPLA ;(A)=0CAH,5.累加器(循環(huán))移位操作,左環(huán)移指令 :RL A A7 A0 帶進(jìn)位左環(huán)移指令 :RLCA CY A7 A0,例:(A)=35H,CY=1 執(zhí)行指令后的結(jié)果: RLA RLCA,100110101 01101010 001101011,(A)=6AH (A)=6BH,CY=0 問:若CY=0?,右環(huán)移指令 :RRA A7 A0 帶進(jìn)位右環(huán)移指令 :RRCA CY A7 A0,例:(A)=35H,CY=1 執(zhí)行指令后的結(jié)果: RRA RR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論