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

操作碼

目標操作數(shù)

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

說         明

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ù)存儲器間傳送

MOVC

A

 @A+DPTR; @A+PC

  讀外部程序存儲器

MOV

C

bit

 bit

 C

  Cy與可尋址位間傳送

 

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

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

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

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

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

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

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

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

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

ê                 傳送指令一般不影響標志位。

直接改寫PSW的情況除外,改寫Acc影響P標志。

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

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

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

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

②Ri應先賦確定值。i=0,1。

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

 

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

ê                 以指針方式讀、寫外部數(shù)據(jù)存儲器或I/O端口。

ê                 @DPTR提供16位地址指針,可訪問總線擴展的整個64k空間。

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

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

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

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

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

 

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


MOV  R0,#30H

MOV  R2,#17

MOV  DPTR,#4000H

LOOP: MOV  A,@R0

MOVX  @DPTR,A

INC  R0

INC  DPTR

DJNZ  R2,LOOP

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

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

;設置(外部)目標指針初值

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

;寫目標數(shù)據(jù)

;源指針下移

;目標指針下移

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


 

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

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

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

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

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

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

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

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

3000H  MOV A,#表元素序號

3002H  ADD A,#表頭偏移量

3004H  MOVC A, @A+PC

¼¼

       ORG 30A0H

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

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

 轉載須保留地址:http://www.51hei.com/mcu/280.html

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

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

ê                 PUSH和POP的對象可以是內(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單元進行低四位交換,只能用寄存器間址@Ri。例如

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

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

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


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

MOV  R0, #30H  ; 設立指針

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

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

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

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

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