單片機(jī)的尋址方式
指令給出參與運(yùn)算的數(shù)據(jù)方式稱為尋址方式。換句話說,尋址方式就是尋找確定參與操作的數(shù)的真正地址。
在MCS-51系列單片機(jī)的指令系統(tǒng)中尋址方式共有7種,
直接尋址方式,指令操作數(shù)域給出的是參加運(yùn)算的操作數(shù)地址。在MCS-51單片機(jī)中,直接地址只能用來表示特殊功能寄存器、內(nèi)部數(shù)據(jù)寄存器和位地址空間。其中,特殊功能寄存器和位地址空間只能用直接尋址方式訪問。
寄存器尋址方式,操作數(shù)在寄存器中,由指令操作碼中的rrr三位的值和PSW中RS1及RS0的狀態(tài),選中某個(gè)工作寄存器區(qū)的某個(gè)寄存器,然后進(jìn)行相應(yīng)的指令操作。 指令所要的操作數(shù)已存儲(chǔ)在某寄存器中,或把目標(biāo)操作數(shù)存入寄存器。把在指令中指出所使用寄存器(即:寄存器的助憶符)的尋址方式稱為寄存器尋址方式。
間接尋址方式,指令操作數(shù)給出的是存放操作數(shù)地址的寄存器。在MCS-51指令系統(tǒng)中,可作為寄存器間接尋址的寄存器有工作寄存器R0~R1、堆棧批示器SP和地址寄存器DPTR。在指令助記符中,間接尋址用符號(hào) @來表示。
相對(duì)尋址方式,以當(dāng)前程序計(jì)數(shù)器pc的內(nèi)容為基址,加上指令給出的一字節(jié)補(bǔ)碼數(shù)(偏移量)形成新的pc值的尋址方式稱為相對(duì)尋址。
變址尋址方式 ,在通用寄存器中,有些寄存器可作為變址寄存器。把變址寄存器的內(nèi)容(通常是首地址)與指令地址碼部分給出的地址(通常是位移量)之和作為操作數(shù)的地址來獲得所需要的操作數(shù)就稱為變址尋址。
位尋址方式,它是指對(duì)一些內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM和特殊功能寄存器進(jìn)行位操作時(shí)的尋址。在進(jìn)行位操作時(shí),借助于進(jìn)位位C作為操作累加器,指令操作數(shù)域直接給出該位的地址,然后根據(jù)操作碼的性質(zhì)對(duì)該位進(jìn)行位操作。位地址與字節(jié)直接尋址中的字節(jié)地址形式完全一樣,主要由操作碼加以區(qū)分。
評(píng)論