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