程式儲存器編址及程式執行順序

2021-07-24 20:14:45 字數 636 閱讀 5816

對於內部有rom的晶元,根據情況也可以擴充套件外部rom,雖然內、外程式儲存器總容量可以超過64kb,但其有效儲存空間只有64kb,內、外程式儲存器邏輯上將共用64k儲存空間。片內程式儲存器位址空間和片外程式儲存器的低位址空間重疊。51子系列重疊區域為0000h~0fffh,52子系列重疊區域為0000h~1fffh。

微控制器在執行指令時,對於低位址部分,是從片內程式儲存器取指令,還是從片外儲存器取指令,是根據微控制器晶元上的片外程式儲存器選用引腳ea電平的高低來決定的。微控制器復位後,如ea為低電平,則從片外程式儲存器開始取指令並執行;ea接高電平,則從片內程式儲存器取指令執行。對於8031和8032晶元,ea只能保持低電平,指令只能從片外程式儲存器取得。

當微控制器上電復位後ea為1時,程式從片內程式儲存器0000h單元開始執行。當執行到最後的內部rom單元後,轉到下乙個擁有相鄰位址的外部rom單元中執行,而不是從外部rom單元的0000h處開始執行。如8051有4k內部rom,位址空間0000h到0fffh。如果內部程式執行到0fffh後,下面將從外部rom的1000h處取指令繼續執行,儘管外部擴充套件的rom可能位址空間是000h~ffffh。要注意的是,在內部用到最高位位址進行無縫連線而不是重合。當微控制器上電復位後ea為1時,則程式將從片外程式儲存器0000h處開始執行,在任何時刻都不會執行到內部程式儲存器中。

程式執行順序

public class testa 類b public class testb 類 parent public class parent private testa testa2 newtesta parent變數 public parent parent的子類subclass public cl...

MFC程式執行順序

2 winmain登場 extern c int winapi twinmain hinstance hinstance,hinstance hprevinstance,lptstr lpcmdline,int ncmdshow twinmain函式的 t 是為了支援unicode而準備的乙個巨集。...

MFC程式執行順序

2 winmain登場 extern c int winapi twinmain hinstance hinstance,hinstance hprevinstance,lptstr lpcmdline,int ncmdshow twinmain函式的 t 是為了支援unicode而準備的乙個巨集。...