當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]一、數(shù)據(jù)傳遞類指令1) 以累加器為目的操作數(shù)的指令MOV A,RnMOV A,directMOV A,@RiMOV A,#data第一條指令中,Rn代表的是R0-R7。第二條指令中,direct就是指的直接地址,而第三條指令中,就是我們剛才講過的。第四

一、數(shù)據(jù)傳遞類指令

數(shù)據(jù)傳送指令包括數(shù)據(jù)的傳送、交換、堆棧數(shù)據(jù)的壓入與彈出,是最基本、使用率最高的一類指令。助記符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP共八種。

1.MOV類指令及功能(16條)

這類指令的功能是從源操作數(shù)到目的操作數(shù)的數(shù)據(jù)傳送。

MOV  A, Rn    ;Rn→A,寄存器Rn的內(nèi)容送到累加器A

MOV  A, direct   ;(direct)→A,直接地址中的內(nèi)容送A

MOV  A, @Ri    ;(Ri)→A,Ri間址的內(nèi)容送A

MOV  A, #data   ;data→A,立即數(shù)送A

MOV  Rn,, A    ;A→Rn,累加器A中的內(nèi)容送寄存器Rn

MOV  Rn, direct   ;(direct)→Rn;直接地址中的內(nèi)容送Rn

MOV  Rn, #data   ;data→Rn;立即數(shù)送Rn

MOV  direct, A   ;A→(direct),A中的內(nèi)容送入直接地址中

MOV  direct, Rn   ;Rn→(direct),寄存器內(nèi)容送入直接地址中

MOV  direct, direct  ;(direct) →(direct),源操作數(shù)直接地址的內(nèi)容送入目的操作數(shù)的直接地址中

MOV  direct, @Ri  ;(Ri)→(direct),Ri間址內(nèi)容送入直接地址中

MOV  direct, #data  ;data→(direct),立即數(shù)送入直接地址中

MOV  @Ri, A    ;A→(Ri),A中內(nèi)容送到Ri間址單元中

MOV  @Ri, direct  ;(direct)→(Ri),直接地址中內(nèi)容送入Ri間址單元中

MOV  @Ri, #data   ;data→(Ri),立即數(shù)送入Ri間址單元中

MOV  DPTR, #data16      ;data16→DPTR,16位常數(shù)送入數(shù)據(jù)指針DPTR中,高8位送入DPH,低8位送入DPH,低8位送入DPL中

從上述指令可以看出目的操作數(shù)有A累加器、Rn寄存器、直接地址direct及間接地址@Ri,源操作數(shù)除此之外還多一種立即數(shù)data。

例1  R0中有常數(shù)30H,而30H地址中有常數(shù)50H

執(zhí)行MOV A, R0后,A=30H,R0不變。

執(zhí)行MOV A, @R0后A=50H,而不是30H,這條指令的功能是把R0中內(nèi)容為地址的單元的書送入A,R0中是30H也就是把30H地址中內(nèi)容50H送入A。

例2  若(40H)=20H,(50H)=30H

執(zhí)行MOV 40H, 50H; (50H) →(40H)

結(jié)果:(40H)=30H,50H地址中內(nèi)容仍為30H。

例3  若A=40H,R0=30H,

執(zhí)行MOV @R0, A              ;A→(R0)

結(jié)果:(30H)=40H,A與R0皆不變,即A=40H,R0=30H。

該指令功能是把A中內(nèi)容送入R0間址單元即R0中內(nèi)容為地址的單元。

例4  執(zhí)行MOV DPTR, #2040H          ;2040H→DPTR

結(jié)果:DPH=20H, DPL=40H

DPTR是片外RAM地址指針,只有這一條指令是傳送16位數(shù)據(jù)。

2.MOVC類指令及功能(2條)

MOVC A, @A+PC                   ;PC+1→PC, (A+PC) →A

MOVC A, @A+DPTR                  ;(A+DPTR) →A

功能:該類屬于查表指令,利用這兩條指令很方便地查找放在程序存儲器中數(shù)據(jù)表格的內(nèi)容。

例1  程序

1000H MOV A, #10H       ;10H→A

1002H MOVC A, @A+PC       ;PC+1→PC,PC=1003H,(A+PC)=(10H+1003H)→A

...

1010H 02H

1011H 04H

1012H 06H

1013H 08H

程序執(zhí)行結(jié)果:A=08H

用MOVC A, @A+PC指令需注意兩點:

1)指令中的PC是執(zhí)行完本條指令后的PC值,即PC等于本條指令地址加1。

2)A是修正值,它等于查表指令和欲查數(shù)據(jù)相間隔字節(jié)數(shù)。A的范圍是0~255,一次該指令只能查找本指令后的256B范圍內(nèi)的表格,故稱為近程查表。

例2  程序

1000H MOV A, #01H     ;01H→A

1002H MOV DPTR, #6000H    ;6000H→DPTR

1005H MOVC A,@A+DPTR   ;(A+DPTR)=(01H+6000H)=(6001H) →A

...

6001H 0AH

6002H 0BH

6003H 0CH

6004H 0DH

程序執(zhí)行結(jié)果:A=0AH,查到了地址為6001H單元中的數(shù)據(jù)。

用MOVC A, @A+DPTR指令查表特點:A, DPTR都可以改變,因此可在64KB范圍內(nèi)查表,故稱為遠(yuǎn)程查表。這條指令更方便。

3.MOVX類指令(4條)

MOVX A, @DPTR         ;(DPTR) →A,DPTR間址單元內(nèi)容送A

MOVX @DPTR, A         ;A→(DPTR), A 中內(nèi)容送入DPTR間址單元

MOVX A, @Ri          ;(Ri) →A,Ri間址單元內(nèi)容送A

MOVX @Ri, A          ;A→(Ri), A中內(nèi)容送Ri間址單元

MOVX類指令功能:這四條指令專門用來與外部數(shù)據(jù)存儲區(qū)傳送數(shù)據(jù)。CPU與外部RAM傳送數(shù)據(jù)時只能用間接尋址方式。

例1  把外部數(shù)據(jù)存儲單元2000H中的數(shù)據(jù)送到4000H單元中,設(shè)2000H中有數(shù)據(jù)30H。

程序             各條指令執(zhí)行結(jié)果

MOV DPTR, #2000H         ;2000H DPTR, DPTR=2000H

MOVX A, @DPTR          ;(DPTR)  A即(2000) A,A=30H

MOV DPTR, #4000H        ;4000H→DPTR, DPTR=4000H

MOVX @DPTR, A          ;A→(DPTR)即A→(4000H), (4000H)=30H

例2  把內(nèi)部RAM50H單元數(shù)據(jù)送到片外20H單元,設(shè)50H中單元存有數(shù)據(jù)10H。

程序                各條指令執(zhí)行結(jié)果

MOV A,50H              ;(50H) 各條指令執(zhí)行結(jié)果A, A=10H

MOV R0,#20H          ;20H→R0, R0=20H

MOVX @R0, A          ;A→(R0)即A→(20H)則20H=10H

注意:與外部RAM傳送數(shù)據(jù)時,地址小于256B用Ri間址,大于256B時用DPTR間址。

4.交換指令

XCH A, Rn             ;Rn A, Rn與A內(nèi)容交換

XCH A,direct            ;(direct)  A, 直接地址內(nèi)容與A內(nèi)容交換

XCH A, @Ri         ;(Ri)  A,Ri間址內(nèi)容與A內(nèi)容交換

XCHD A, @Ri         ;(Ri.3~Ri.0) A.3~A.0, Ri間址內(nèi)容低4

位與A中低4 位內(nèi)容交換

SWAP  A          ;A.3~A.0  A.7~A.4, A中高4位與低4位

交換

例  若R0=30H, A=F0H, (30H)=46H

執(zhí)行    XCH A, R0               ;結(jié)果:A=30H,R0=F0H, R0與A 內(nèi)容交換

執(zhí)行    XCH A, @R0               ;結(jié)果:A=46H, (30H)=F0H, R0中不變,

;實際上是(R0) A即(30H) A

若執(zhí)行 XCHD A, @R0               ;結(jié)果:A=F6H,(30)H=40H

;A與(30H)中低4位交換,高4位不變

執(zhí)行 SWAP A                 ;結(jié)果:A=0FH, 高低4位互換

5.堆棧操作指令(2條)

PUSH、POP屬堆棧操作指令,其功能是把直接地址中的內(nèi)容壓入堆棧保存,或從堆棧中取出(彈出)數(shù)據(jù)到直接地址中。

PUSH direct     ;SP+1→SP, (direct) →(SP)

;直接地址內(nèi)容壓入堆棧頂

POP  direct     ;(SP)→(direct), SP-1→SP

;堆棧棧頂內(nèi)容彈出到直接地址

注意:堆棧是用戶自己設(shè)定的內(nèi)部RAM中的一塊專用存儲區(qū),使用堆棧時一定先設(shè)堆棧指針。堆棧遵循后進(jìn)先出的原則安排數(shù)據(jù)。壓入數(shù)據(jù)時SP先加1,再壓入;彈出時,先彈出數(shù)據(jù),SP再減1。

例  設(shè)堆棧指針為30H,為保護(hù)現(xiàn)場把A和B中的內(nèi)容壓入堆棧保護(hù),然后根據(jù)需要再把兩者彈出。設(shè)A中為30H,B中為01H。

程序        執(zhí)行結(jié)果

MOV   SP, #30H  ;30H→SP, SP=30H設(shè)堆棧指針為30H

PUSH  ACC        ;SP+1→SP=31H, A→(SP)即A→(31H),(31H)=30H

PUSH  B    ;SP+1→SP=32H, B→(SP)即B→(32H),(32H)=01H

POP   B    ;SP→B即(32H)→B, B=01H, SP-1→SP=31H

POP  ACC    ;SP→A即(31H)→A, A=30H, SP-1→SP=30H

從此例可以看出壓入、彈出過程SP的變化規(guī)律

下頁我們將總結(jié)——算術(shù)運(yùn)算指令

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉