国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術中心 >> 單片機入門 >> 指令系統(tǒng)的分類

指令系統(tǒng)的分類

關鍵字:指令系統(tǒng) 分類 作者:admin 來源:不詳 發(fā)布時間:2018-05-19  瀏覽:12

一、數(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的內容送到累加器A

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

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

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

MOV  Rn,, A    ;A→Rn,累加器A中的內容送寄存器Rn

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

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

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

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

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

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

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

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

MOV  @Ri, direct  ;(direct)→(Ri),直接地址中內容送入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中內容為地址的單元的書送入A,R0中是30H也就是把30H地址中內容50H送入A。

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

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

結果:(40H)=30H,50H地址中內容仍為30H。

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

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

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

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

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

結果: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ù)表格的內容。

例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í)行結果:A=08H

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

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

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

例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í)行結果:A=0AH,查到了地址為6001H單元中的數(shù)據(jù)。

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

3.MOVX類指令(4條)

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

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

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

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

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

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

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

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  把內部RAM50H單元數(shù)據(jù)送到片外20H單元,設50H中單元存有數(shù)據(jù)10H。

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

MOV A,50H              ;(50H) 各條指令執(zhí)行結果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內容交換

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

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

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

位與A中低4 位內容交換

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

交換

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

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

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

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

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

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

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

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

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

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

;直接地址內容壓入堆棧頂

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

;堆棧棧頂內容彈出到直接地址

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

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

程序        執(zhí)行結果

MOV   SP, #30H  ;30H→SP, SP=30H設堆棧指針為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ī)律

下頁我們將總結——算術運算指令

編輯:admin  最后修改時間:2018-05-19

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

欧美一级不卡视频在线观看| 日本丰满大奶熟女一区二区| 午夜资源在线观看免费高清| 免费黄色一区二区三区| 国产熟女高清一区二区| 夫妻性生活动态图视频| 高潮少妇高潮久久精品99| 亚洲综合一区二区三区在线| 日本少妇aa特黄大片| 国产又粗又猛又大爽又黄| 日韩毛片视频免费观看| 草草夜色精品国产噜噜竹菊| 亚洲精品一二三区不卡| 国产一区二区三区香蕉av| 国产精品一区欧美二区| 国产一区二区三区av在线| 免费大片黄在线观看国语| 中文字幕无线码一区欧美| 五月激情综合在线视频| 国产户外勾引精品露出一区| 在线日本不卡一区二区| 人妻乱近亲奸中文字幕| 国产在线一区中文字幕 | 富婆又大又白又丰满又紧又硬| 欧美国产日产综合精品| 国产又爽又猛又粗又色对黄| 国产精品亚洲精品亚洲| 日本一级特黄大片国产| 国产在线一区二区免费| 国产亚洲欧美日韩国亚语| 美国欧洲日本韩国二本道| 真实偷拍一区二区免费视频| 国产又粗又猛又爽色噜噜| 特黄大片性高水多欧美一级| 少妇人妻中出中文字幕| 欧美一区二区三区99| 国产老熟女乱子人伦视频| 老熟女露脸一二三四区| 黄片在线观看一区二区三区| 狠狠亚洲丁香综合久久| 国产精品乱子伦一区二区三区|