0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

探討單片機(jī)的尋址方式

貿(mào)澤電子設(shè)計(jì)圈 ? 來源:未知 ? 2018-11-28 11:09 ? 次閱讀

80C51有七種尋址方式:

1、立即尋址,尋址空間為ROM;

2、直接尋址,尋址空間為片內(nèi)RAM的低128B和特殊功能寄存器;

3、寄存器尋址,尋址空間為A、B、DPTR、CY、通用工作寄存器等;

4、寄存器間接尋址,片內(nèi)RAM低128B、片外RAM;

5、相對尋址,尋址空間為ROM;

6、變址尋址,尋址空間為ROM;

7、位尋址,尋址空間為片內(nèi)RAM低128B的位尋址區(qū)的128個(gè)位,其字節(jié)地址為20H~2FH;以及部分可以位尋址的特殊功能寄存器。

參考:AT89C51單片機(jī)能直接認(rèn)識和執(zhí)行的機(jī)器指令有255條,有7種尋址方式,即立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、變址尋址、相對尋址和位尋址。

1. 直接尋址:

指令中直接給出參與操作的數(shù)據(jù)的地址,該地址一般用direct表示。

匯編指令:MOV A,direct

該指令的功能是將片內(nèi)RAM地址direct單元中的內(nèi)容(參與操作的數(shù)據(jù))傳送到累加器A中,雙字節(jié)指令。

2. 立即尋址:

指令中直接給出參與操作的數(shù)據(jù),稱立即數(shù),用data表示。在匯編語言中,為標(biāo)明立即數(shù),為data加前綴”#”。立即數(shù)可以是8位和16位二進(jìn)制數(shù),分別用#data和#data16表示。

匯編語言指令:MOV A,#data

該指令將立即數(shù)data傳送到累加器A中,雙字節(jié)指令。

3. 寄存器尋址:

參與操作的數(shù)據(jù)存放在寄存器中,匯編指令中直接以寄存器名來表示參與操作的數(shù)據(jù)地址,寄存器包括工作寄存器R0~R7、累加器A、AB、數(shù)據(jù)指針DPTR和位運(yùn)算寄存器C。

匯編語言指令:MOV A,Rn ;n=0~7

該指令將Rn中的內(nèi)容傳送到累加器A中,單字節(jié)指令。

4. 寄存器間接尋址:

寄存器間接尋址為二次尋址,第一次尋址得到寄存器的內(nèi)容為(Ri)或(DPTR),第二次尋址是將第一次尋址得到的寄存器內(nèi)容作為地址,并在其中存、取參與操作的數(shù)據(jù)。匯編語言中,寄存器前綴@是寄存器間接尋址的標(biāo)志,有@Ri、@DPTR等。

匯編語言指令:MOV A,@Ri ;i=0、1

該指令是將Ri中的內(nèi)容作為地址,再將該地址中的內(nèi)容傳送到累加器A中,單字節(jié)指令。

5. 變址尋址:

間接尋址由兩個(gè)寄存器提供。若由A、PC提供,在匯編語言指令中尋址地址表示為@A+PC;若由A和DPTR提供,在匯編語言指令中尋址地址為@A+DPTR。其中,PC或DPTR被稱為基址寄存器,A被稱為變址寄存器,基址與變址相加為16位無符號加法。若變址寄存器A中內(nèi)容加基址寄存器DPTR(或PC)中內(nèi)容時(shí),低8位有進(jìn)位,則該進(jìn)位直接加到高位,不影響進(jìn)位標(biāo)志。因變址尋址指令多用于查表,故常稱為查表指令。

匯編語言指令:MOVC A,@A+DPTR

該指令將DPTR中的內(nèi)容加上A中的內(nèi)容作為地址,再將該地址中的內(nèi)容傳送到累加器A中,單字節(jié)指令。

6. 相對尋址:

相對尋址是以相對尋址指令的下一條指令的程序計(jì)數(shù)器PC的內(nèi)容為基值,加上指令機(jī)器代碼中的“相對地址”,形成新的PC值(要轉(zhuǎn)移的指令地址)的尋址方式。指令機(jī)器代碼中“相對地址”指的是用一個(gè)帶符號的8位二進(jìn)制補(bǔ)碼表示的偏移字節(jié)數(shù),其取值范圍為-128~+127,負(fù)數(shù)表示向后轉(zhuǎn)移,正數(shù)表示向前轉(zhuǎn)移。

若(PC)表示該指令在ROM中的首地址,該指令字節(jié)數(shù)為2,執(zhí)行時(shí)分兩步操作:(PC)←(PC)+2,(PC)←(PC)+相對地址。第一步完成后,PC中的值為該指令的下一條指令的首地址;第二步完成后,PC中的內(nèi)容(PC)為轉(zhuǎn)移的目標(biāo)地址。所以,轉(zhuǎn)移的目標(biāo)地址范圍是該相對尋址指令的下一條指令首址加上-128~—+127字節(jié)的地址。

匯編語言指令:SJMP rel

匯編語言相對尋址指令中的”rel”往往是一個(gè)標(biāo)號地址,表示ROM中某轉(zhuǎn)移目標(biāo)地址。匯編軟件對該匯編語言指令進(jìn)行匯編時(shí),自動算出“相對地址”并填入機(jī)器代碼中,應(yīng)將”rel”理解為“帶有相對意義的轉(zhuǎn)移目標(biāo)地址”。

Rel=(PC)+相對尋址指令字節(jié)數(shù)+相對地址

其中,(PC)為該指令所在ROM中的首地址。

7. 位尋址:

參與操作的數(shù)據(jù)為“位”,而不是字節(jié),是對片內(nèi)數(shù)據(jù)存儲器RAM和SFR中可位尋址單元的位進(jìn)行操作的尋址方式。

匯編語言指令:ANL C,bit

該指令將bit(位地址)中的內(nèi)容(0或1)與C中的內(nèi)容進(jìn)行與操作,再將結(jié)果傳送到PSW中的進(jìn)位標(biāo)志C中。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631971
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5294

    瀏覽量

    119814
  • 尋址
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    7408

原文標(biāo)題:【M博士問答】單片機(jī)的尋址方式有哪些?

文章出處:【微信號:Mouser-Community,微信公眾號:貿(mào)澤電子設(shè)計(jì)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    什么是單片機(jī)尋址方式?尋址方式有哪些?

    的內(nèi)容為20H,則執(zhí)行MOV R1,A指令后,內(nèi)部RAM 09H單元的值就變?yōu)?0H。2. 直接尋址直接尋址是指把存放操作數(shù)的內(nèi)存單元的地址直接寫在指令中。在MCS-51單片機(jī)中,可以直接尋址
    發(fā)表于 01-13 14:54

    單片機(jī)有哪些尋址方式?

    單片機(jī)的結(jié)構(gòu)與原理是什么?單片機(jī)有哪些尋址方式?
    發(fā)表于 09-29 07:23

    單片機(jī)尋址方式與指令系統(tǒng)的相關(guān)資料分享

    單片機(jī)尋址尋找操作數(shù)能通過直接給的方式(立即尋址)例:MOV A,#52讓我們先來復(fù)習(xí)一下我們學(xué)過的一些指令:MOV P1,#0FFH,MOV R7,#0FFH這些指令都是將一些數(shù)據(jù)
    發(fā)表于 11-30 07:39

    基于單片機(jī)尋址控制的CATV系統(tǒng)

    介紹了一種基于單片機(jī)尋址控制的有線電視收費(fèi)系統(tǒng),重點(diǎn)對系統(tǒng)應(yīng)用鎖相頻率合成技術(shù)的2FSK 調(diào)制和解調(diào)、單片機(jī)AT89C51 尋址控制的硬件和軟件進(jìn)行了分析,還對系統(tǒng)利用PIN管寬
    發(fā)表于 09-22 11:25 ?19次下載

    單片機(jī)教程八:單片機(jī)尋址方式與指令系統(tǒng)

    單片機(jī)教程八:單片機(jī)尋址方式與指令系統(tǒng) 通過前面的學(xué)習(xí),我們已經(jīng)了解了單片機(jī)內(nèi)部的結(jié)構(gòu),并且也已經(jīng)知道,要控制
    發(fā)表于 05-15 23:02 ?590次閱讀

    什么是單片機(jī)尋址方式與指令系統(tǒng)

     什么是單片機(jī)尋址方式與指令系統(tǒng) 通過前面的學(xué)習(xí),我們已經(jīng)了解了單片機(jī)內(nèi)部的結(jié)構(gòu),并且也已經(jīng)知道,要控制單片機(jī),讓它為我們干學(xué),
    發(fā)表于 03-11 09:31 ?3018次閱讀

    單片機(jī)尋址方式

    指令給出參與運(yùn)算的數(shù)據(jù)方式稱為尋址方式。換句話說,尋址方式就是尋找確定參與操作的數(shù)的真正地址。 在MCS-51系列
    發(fā)表于 06-29 17:14 ?2850次閱讀

    51單片機(jī)匯編語言教程_單片機(jī)尋址方式與指令系統(tǒng)

    51單片機(jī)匯編語言教程:8課單片機(jī)尋址方式與指令系統(tǒng)
    發(fā)表于 01-19 15:25 ?0次下載

    探討數(shù)字單片機(jī)技術(shù)的PCB版

    探討數(shù)字單片機(jī)技術(shù)的PCB版,探討數(shù)字單片機(jī)技術(shù)的PCB版
    發(fā)表于 07-18 15:06 ?0次下載

    單片機(jī)尋址能力的解讀

    單片機(jī)尋址能力的解讀:CPU位寬與內(nèi)存尋址能力沒有關(guān)系
    發(fā)表于 12-27 15:30 ?1次下載

    MCS-51單片機(jī)指令系統(tǒng)的介紹和尋址方式資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是MCS-51單片機(jī)指令系統(tǒng)的介紹和尋址方式資料概述。指令——計(jì)算機(jī)能夠識別和執(zhí)行的命令。 指令系統(tǒng)——指令的集合或全體,因機(jī)器而異。
    發(fā)表于 10-23 16:11 ?0次下載
    MCS-51<b class='flag-5'>單片機(jī)</b>指令系統(tǒng)的介紹和<b class='flag-5'>尋址</b><b class='flag-5'>方式</b>資料概述

    使用51單片機(jī)進(jìn)行尋址方式詳細(xì)說明

    AT89C51單片機(jī)能直接認(rèn)識和執(zhí)行的機(jī)器指令有255條,有7種尋址方式,即立即尋址、直接尋址、寄存器
    發(fā)表于 08-20 17:31 ?1次下載
    使用51<b class='flag-5'>單片機(jī)</b>進(jìn)行<b class='flag-5'>尋址</b>的<b class='flag-5'>方式</b>詳細(xì)說明

    單片機(jī)有哪些尋址方式?7種尋址方式的詳細(xì)資料講解

    尋址就是尋找指令中操作數(shù)或操作數(shù)所在的地址。所謂尋址方式,就是如何找到存放操作數(shù)的地址,把操作數(shù)提取出來的方法。通常指源操作數(shù)的尋址方式
    發(fā)表于 08-08 17:33 ?2次下載
    <b class='flag-5'>單片機(jī)</b>有哪些<b class='flag-5'>尋址</b><b class='flag-5'>方式</b>?7種<b class='flag-5'>尋址</b><b class='flag-5'>方式</b>的詳細(xì)資料講解

    51單片機(jī)匯編語言的尋址方式詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)匯編語言的尋址方式詳細(xì)資料說明。尋址方式:指定操作數(shù)所在單元的方法。8051
    發(fā)表于 07-26 17:36 ?2次下載
    51<b class='flag-5'>單片機(jī)</b>匯編語言的<b class='flag-5'>尋址</b><b class='flag-5'>方式</b>詳細(xì)資料說明

    51單片機(jī)的相對尋址問題的探討資料說明

    MCS-51系列單片機(jī)作為經(jīng)典的單片機(jī)應(yīng)用十分廣泛,其指令總共有111條。其指令中對操作數(shù)的尋址方式有7種,分別為立即數(shù)尋址、直接
    發(fā)表于 08-21 17:09 ?2次下載
    51<b class='flag-5'>單片機(jī)</b>的相對<b class='flag-5'>尋址</b>問題的<b class='flag-5'>探討</b>資料說明