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