地址00H~1FH,共32字節(jié),分成四個(gè)工作寄存器區(qū),每區(qū)有寄存器 R0~R7。此存儲(chǔ)區(qū)如果需要使用寄存器進(jìn)行數(shù)據(jù)的存儲(chǔ),則可以直接使用寄存器尋址。如“MOV A,R0”。
地址20H-2FH,共16字節(jié),是位尋址區(qū),共有128個(gè)“位”,位地址:00~7FH。此區(qū)域的變量,也可按照字節(jié)尋址,來讀寫。如,我們將20H地址的第0位(0或者1)移入程序狀態(tài)字(PSW)的進(jìn)位標(biāo)志位(C),則可以:“MOV C, 20H.0”。
地址30H-7FH,這個(gè)區(qū)域內(nèi)的內(nèi)存空間,主要是存放用戶編寫程序時(shí)產(chǎn)生的臨時(shí)數(shù)據(jù),這塊區(qū)域內(nèi)的尋址方式都為間接尋址,而且只能按照字節(jié)單位進(jìn)行尋址。如果使用C語言要訪問內(nèi)部存儲(chǔ)區(qū),那么你所定義的指針只能指向這一片地址。
地址80H-FFH,此區(qū)域?yàn)樘厥夤δ芗拇嫫鲄^(qū)(SFR),共有128個(gè)地址,其中離散的分布著21個(gè)特殊功能寄存器,必須直接尋址才能讀寫。另外,部分地址可以被8整除的特殊功能寄存器,也可以支持位尋址。(52系列,在此范圍,還有128字節(jié)的 RAM,必須間接尋址才能讀寫)。
注意,在51單片機(jī)的內(nèi)部RAM中進(jìn)行編程的時(shí)候,必須使用MOV指令進(jìn)片內(nèi)RAM的讀寫。
|