機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
數(shù)據(jù)傳送指令
數(shù)據(jù)傳送指令
 更新時(shí)間:2009-11-4 14:58:33  點(diǎn)擊數(shù):0
【字體: 字體顏色
 數(shù)據(jù)傳送指令

操作碼

目標(biāo)操作數(shù)

可選擇的源操作數(shù)

說(shuō)         明

MOV

A

Rn

direct

@Ri

DPTR

 Rn;direct;@Ri;# data

 A;direct;# data

 A;Rn;direct;@Ri;# data

 A;direct;# data

 # data16

 內(nèi)部傳送

 內(nèi)部傳送

 內(nèi)部傳送

 內(nèi)部傳送

 數(shù)據(jù)指針賦值

PUSH

POP

隱含(SP)

direct

 direct

 隱含(SP)

 壓棧,只能用直接尋址

 退棧,只能用直接尋址

XCH

A

 Rn; direct; @Ri

 內(nèi)部交換

XCHD

SWAP

A

A

 @Ri

 隱含A

 只交換低四位

 A的高、低四位互換

MOVX

A

@Ri

@DPTR

 @Ri; @DPTR

 A

 A

  A與外部數(shù)據(jù)存儲(chǔ)器間傳送

MOVC

A

 @A+DPTR; @A+PC

  讀外部程序存儲(chǔ)器

MOV

C

bit

 bit

 C

  Cy與可尋址位間傳送

 

1.      數(shù)據(jù)傳送指令的一般性說(shuō)明

ê                 指令的一般格式:  操作碼  目標(biāo)操作數(shù),源操作數(shù)

操作碼  說(shuō)明操作的性質(zhì)

操作內(nèi)容一般為   (目標(biāo)操作數(shù))(源操作數(shù))

ê                 8位操作數(shù)的形式有A、Rn、direct、@Ri、# data 等五種

16位操作數(shù)的形式有DPTR 與 # data16

1位操作數(shù)的形式有 C 與 bit

ê                 目標(biāo)與源應(yīng)同類型,且有規(guī)定的允許搭配,一般可逆。

A及direct可全搭配,@Ri、Rn不能相互搭配,# data只可作源.。

ê                 傳送指令一般不影響標(biāo)志位。

直接改寫PSW的情況除外,改寫Acc影響P標(biāo)志。

2.      內(nèi)部數(shù)據(jù)傳送指令(MOV)

ê                 內(nèi)部RAM、特殊功能寄存器(SFR)之間的數(shù)據(jù)傳送。

ê                 注意立即數(shù) #XXH與直接地址XXH 的區(qū)別。

ê                 @Ri指針使用要點(diǎn):①與循環(huán)配合,適用于連續(xù)數(shù)據(jù)區(qū)的操作。

②Ri應(yīng)先賦確定值。i=0,1。

③是XCHD指令唯一的源操作數(shù)。

 

3.      外部數(shù)據(jù)傳送(MOVX)

ê                 以指針?lè)绞阶x、寫外部數(shù)據(jù)存儲(chǔ)器或I/O端口。

ê                 @DPTR提供16位地址指針,可訪問(wèn)總線擴(kuò)展的整個(gè)64k空間。

ê                 @Ri只提供低8位地址指針,適用于256個(gè)地址的小規(guī)?偩擴(kuò)展。

或者由P2口以I/O方式提供高8位(頁(yè)) 地址,采用頁(yè)訪問(wèn)模式。例如:

MOV   P2,#30H     ;由P2口提供高8位地址30H

MOV   R0,#0        ;低8位地址為00H

MOVX  A,@R0       ;讀(3000H)單元

 

ê                 應(yīng)用例:將內(nèi)部30H~40H單元的內(nèi)容送外部數(shù)據(jù)存儲(chǔ)器,從4000H單元開始存放。


MOV  R0,#30H

MOV  R2,#17

MOV  DPTR,#4000H

LOOP: MOV  A,@R0

MOVX  @DPTR,A

INC  R0

INC  DPTR

DJNZ  R2,LOOP

;設(shè)置(內(nèi)部)源指針初值

;設(shè)置循環(huán)計(jì)數(shù)器初值

;設(shè)置(外部)目標(biāo)指針初值

;循環(huán)入口,讀源數(shù)據(jù)

;寫目標(biāo)數(shù)據(jù)

;源指針下移

;目標(biāo)指針下移

;循環(huán)計(jì)數(shù)器減一,不為0則繼續(xù)循環(huán)


 

4.      讀外部程序存儲(chǔ)器(MOVC)

ê                 讀取外部程序存儲(chǔ)器中的數(shù)據(jù),用于查表。

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

PC為本指令的地址,取指令后加一。

變址偏移量(A)是8位無(wú)符號(hào)數(shù),因此查表的范圍在(PC)+1 ~ (PC)+255。

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

DPTR是16位指針,因此查表的范圍為全64k空間。

ê                 應(yīng)用例:查Y(x)函數(shù)表。

3000H  MOV A,#表元素序號(hào)

3002H  ADD A,#表頭偏移量

3004H  MOVC A, @A+PC

¼¼

       ORG 30A0H

TABLE: DB 17,22,34,58,82,103

表頭偏移量=表頭地址-(MOVC指令地址+1)

 轉(zhuǎn)載須保留地址:http://www.51hei.com/mcu/280.html

5.      棧操作數(shù)據(jù)傳送指令(PUSH / POP)

ê                 堆棧在內(nèi)部RAM區(qū)。

ê                 PUSH和POP的對(duì)象可以是內(nèi)部RAM單元或SFR。

ê                 尋址方式只能用direct。例如,

PUSH 30H ;(SP)(SP)+1,((SP))(30H)

POP DPH  ;(DPH)((SP)),(SP)(SP)-1

 

6.       交換(XCH / XCHD /SWAP)

ê                 XCH 字節(jié)交換:A與內(nèi)部RAM單元或SFR交換。例如

XCH A,R2  ;(A)«(R2)

ê                 XCHD 半字節(jié)交換:A與內(nèi)部RAM單元進(jìn)行低四位交換,只能用寄存器間址@Ri。例如

XCHD A,@R1    ;(A)D0- D 3 «((R1))D0- D 3

ê                 SWAP A  ;(A)D0- D 3  «(A)D4- D 7

ê                 應(yīng)用例:拆字,將壓縮BCD碼擴(kuò)展為單字節(jié)BCD碼。


《堆棧數(shù)據(jù)傳送指令》

MOV  R0, #30H  ; 設(shè)立指針

MOV  A, #0     ;(A)=0

XCHD  A, @R0   (A)=0BH

MOV  R4, A    ;(R4)=0BH

XCH  A,30H    ;(A)=30H

SWAP  A       ;(A)=03H

MOV  R3,A     ;(R3)=03H

  • 上一篇: 邏輯運(yùn)算指令
  • 下一篇: 沒(méi)有了
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1