單片機(jī)尋址方式
指令給出參與運(yùn)算的數(shù)據(jù)方式稱為尋址方式。換句話說,尋址方式就是尋找確定參與操作的數(shù)的真正地址。
擴(kuò)展閱讀:單片機(jī)尋址方式與指令系統(tǒng)
在MCS-51系列單片機(jī)的指令系統(tǒng)中尋址方式共有7種,
一、直接尋址:直接將地址內(nèi)的值傳遞給寄存器。尋址空間為內(nèi)部RAM和特殊功能寄存器。
二、間接尋址:單片機(jī)利用R0、 R1、SP、DPTR作為指針尋得指針?biāo)赶虻目臻g的數(shù)據(jù)。指令中含有@符號。尋址空間為內(nèi)外部ROM、RAM的某一空間。
三、寄存器尋址:由PSW狀態(tài)寄存器決定,共四組(各組八個(gè)寄存器R0-R7)某一組的寄存器進(jìn)行數(shù)據(jù)的搬運(yùn)和加減。
四、立即尋址:需要立即找到寄存器存儲數(shù)據(jù)的時(shí)候,利用符號#.例如:MOV A,#3FH.將3FH值存入ACC中。
五、相對尋址:相對尋址是將程序計(jì)數(shù)器PC(當(dāng)前值稱為基地址)中的當(dāng)前值和指令第二字節(jié)給出的數(shù)(偏移量)相加,作為轉(zhuǎn)移指令的轉(zhuǎn)移(目的)地址。尋址空間為:ROM.
六、基址變址尋址(查表操作需要):在相對基址變址尋址方式中,通常把BX和BP看作是基址寄存器,把SI和DI看作變址寄存器。它是把一個(gè)基址寄存器BX或BP的內(nèi)容,加上變址寄存器SI或DI的內(nèi)容,再加上指令中給定的8位或16位位移量,并以一個(gè)段寄存器作為地址基準(zhǔn),作為操作數(shù)的地址。當(dāng)基址寄存器為BX時(shí),段寄存器使用DS。當(dāng)基址寄存器為BP時(shí),段寄存器則用SS。 址空間為ROM和RAM.
七、位尋址:對位地址中的內(nèi)容進(jìn)行位操作的尋址方式稱為位尋址。
由于單片機(jī)中只有內(nèi)部RAM和特殊功能寄存器的部分單元有位地址,因此位尋址只能對有位地址的這兩個(gè)空間進(jìn)行尋址操作。位尋由指令給出直接位地址。與直接尋址不同的是,位尋址只給出位地址,而不是字節(jié)地址。