80C51有七種尋址方式:
1、立即尋址,尋址空間為ROM;
2、直接尋址,尋址空間為片內RAM的低128B和特殊功能寄存器;
3、寄存器尋址,尋址空間為A、B、DPTR、CY、通用工作寄存器等;
4、寄存器間接尋址,片內RAM低128B、片外RAM;
5、相對尋址,尋址空間為ROM;
6、變址尋址,尋址空間為ROM;
7、位尋址,尋址空間為片內RAM低128B的位尋址區的128個位,其字節地址為20H~2FH;以及部分可以位尋址的特殊功能寄存器。
參考:AT89C51單片機能直接認識和執行的機器指令有255條,有7種尋址方式,即立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、變址尋址、相對尋址和位尋址。
1. 直接尋址:
指令中直接給出參與操作的數據的地址,該地址一般用direct表示。
匯編指令:MOV A,direct
該指令的功能是將片內RAM地址direct單元中的內容(參與操作的數據)傳送到累加器A中,雙字節指令。
2. 立即尋址:
指令中直接給出參與操作的數據,稱立即數,用data表示。在匯編語言中,為標明立即數,為data加前綴”#”。立即數可以是8位和16位二進制數,分別用#data和#data16表示。
匯編語言指令:MOV A,#data
該指令將立即數data傳送到累加器A中,雙字節指令。
3. 寄存器尋址:
參與操作的數據存放在寄存器中,匯編指令中直接以寄存器名來表示參與操作的數據地址,寄存器包括工作寄存器R0~R7、累加器A、AB、數據指針DPTR和位運算寄存器C。
匯編語言指令:MOV A,Rn ;n=0~7
該指令將Rn中的內容傳送到累加器A中,單字節指令。
4. 寄存器間接尋址:
寄存器間接尋址為二次尋址,第一次尋址得到寄存器的內容為(Ri)或(DPTR),第二次尋址是將第一次尋址得到的寄存器內容作為地址,并在其中存、取參與操作的數據。匯編語言中,寄存器前綴@是寄存器間接尋址的標志,有@Ri、@DPTR等。
匯編語言指令:MOV A,@Ri ;i=0、1
該指令是將Ri中的內容作為地址,再將該地址中的內容傳送到累加器A中,單字節指令。
5. 變址尋址:
間接尋址由兩個寄存器提供。若由A、PC提供,在匯編語言指令中尋址地址表示為@A+PC;若由A和DPTR提供,在匯編語言指令中尋址地址為@A+DPTR。其中,PC或DPTR被稱為基址寄存器,A被稱為變址寄存器,基址與變址相加為16位無符號加法。若變址寄存器A中內容加基址寄存器DPTR(或PC)中內容時,低8位有進位,則該進位直接加到高位,不影響進位標志。因變址尋址指令多用于查表,故常稱為查表指令。
匯編語言指令:MOVC A,@A+DPTR
該指令將DPTR中的內容加上A中的內容作為地址,再將該地址中的內容傳送到累加器A中,單字節指令。
6. 相對尋址:
相對尋址是以相對尋址指令的下一條指令的程序計數器PC的內容為基值,加上指令機器代碼中的“相對地址”,形成新的PC值(要轉移的指令地址)的尋址方式。指令機器代碼中“相對地址”指的是用一個帶符號的8位二進制補碼表示的偏移字節數,其取值范圍為-128~+127,負數表示向后轉移,正數表示向前轉移。
若(PC)表示該指令在ROM中的首地址,該指令字節數為2,執行時分兩步操作:(PC)←(PC)+2,(PC)←(PC)+相對地址。第一步完成后,PC中的值為該指令的下一條指令的首地址;第二步完成后,PC中的內容(PC)為轉移的目標地址。所以,轉移的目標地址范圍是該相對尋址指令的下一條指令首址加上-128~—+127字節的地址。
匯編語言指令:SJMP rel
匯編語言相對尋址指令中的”rel”往往是一個標號地址,表示ROM中某轉移目標地址。匯編軟件對該匯編語言指令進行匯編時,自動算出“相對地址”并填入機器代碼中,應將”rel”理解為“帶有相對意義的轉移目標地址”。
Rel=(PC)+相對尋址指令字節數+相對地址
其中,(PC)為該指令所在ROM中的首地址。
7. 位尋址:
參與操作的數據為“位”,而不是字節,是對片內數據存儲器RAM和SFR中可位尋址單元的位進行操作的尋址方式。
匯編語言指令:ANL C,bit
該指令將bit(位地址)中的內容(0或1)與C中的內容進行與操作,再將結果傳送到PSW中的進位標志C中。
-
單片機
+關注
關注
6063文章
44914瀏覽量
646789 -
寄存器
+關注
關注
31文章
5421瀏覽量
123301 -
尋址
+關注
關注
0文章
18瀏覽量
7506
原文標題:【M博士問答】單片機的尋址方式有哪些?
文章出處:【微信號:Mouser-Community,微信公眾號:貿澤電子設計圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
什么是單片機尋址方式?尋址方式有哪些?
單片機尋址方式與指令系統的相關資料分享
基于單片機尋址控制的CATV系統
什么是單片機尋址方式與指令系統
MCS-51單片機指令系統的介紹和尋址方式資料概述

單片機有哪些尋址方式?7種尋址方式的詳細資料講解

51單片機匯編語言的尋址方式詳細資料說明

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

評論