新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 什么是單片機尋址方式?尋址方式有哪些?

什么是單片機尋址方式?尋址方式有哪些?

作者: 時間:2013-05-06 來源:網(wǎng)絡(luò) 收藏

尋找操作數(shù)地址的方式稱為尋址方式。

1. 寄存器尋址

寄存器尋址是指將操作數(shù)存放于寄存器中,寄存器包括工作寄存器R0~R7、累加器A、通用寄存器B、地址寄存器DPTR等。例如,指令MOV R1,A的操作是把累加器A中的數(shù)據(jù)傳送到寄存器R1中,其操作數(shù)存放在累加器A中,所以尋址方式為寄存器尋址。

如果程序狀態(tài)寄存器PSW的RS1RS0=01(選中第二組工作寄存器,對應(yīng)地址為08H~0FH),設(shè)累加器A的內(nèi)容為20H,則執(zhí)行MOV R1,A指令后,內(nèi)部RAM 09H單元的值就變?yōu)?0H。

2. 直接尋址

直接尋址是指把存放操作數(shù)的內(nèi)存單元的地址直接寫在指令中。在MCS-中,可以直接尋址的存儲器主要有內(nèi)部RAM區(qū)和特殊功能寄存器SFR區(qū)。

例如,指令MOV A,3AH執(zhí)行的操作是將內(nèi)部RAM 中地址為3AH的單元內(nèi)容傳送到累加器A中,其操作數(shù)3AH就是存放數(shù)據(jù)的單元地址,因此該指令是直接尋址。

3. 立即數(shù)尋址

立即數(shù)尋址是指將操作數(shù)直接寫在指令中。

例如,指令MOV A,#3AH執(zhí)行的操作是將立即數(shù)3AH送到累加器A中,該指令就是立即數(shù)尋址。

4. 寄存器間接尋址

寄存器間接尋址是指將存放操作數(shù)的內(nèi)存單元的地址放在寄存器中,指令中只給出該寄存器。執(zhí)行指令時,首先根據(jù)寄存器的內(nèi)容,找到所需要的操作數(shù)地址,再由該地址找到操作數(shù)并完成相應(yīng)操作。

在MCS-51指令系統(tǒng)中,用于寄存器間接尋址的寄存器有R0、R1和DPTR,稱為寄存器間接尋址寄存器。

設(shè)R0=3AH,內(nèi)部RAM 3AH中的值是65H,則指令MOV A,@R0的執(zhí)行結(jié)果是累加器A的值為65H。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉