8051呼叫子程式或執行中斷時,將儲存哪些暫存器?請回答的詳細一點。謝謝

時間 2021-08-14 23:00:27

1樓:手機使用者

ank 0

片內ram地址08h-0fh 為r0-r7 bank 1片內ram地址10h-17h 為r0-r7 bank 2片內ram地址17h-1fh 為r0-r7 bank 3任意時刻cpu只能用其中一組,其餘三組可按片內ram地址直接訪問。

psw為程式狀態字,其中的各位對應了cpu內部的各種情況,各種不同的指令執行後該位元組中的各位會有相應變化(也有的指令執行後該位元組內容不變的),使用者程式可根據這些變化推論出前面程式的執行結果,進而可做進一步處理。

pc為程式指標,cpu按照pc中的內容作為程式儲存器儲存單元的地址,取出指令來執行的,即pc中的內容就是cpu將要執行的指令的地址。

2樓:匿名使用者

若是組合語言程式,呼叫子程式或執行中斷時,只要儲存在子程式中用到的暫存器,子程式中沒有用到的暫存器不用儲存(或者切換到另一個暫存器組,無需將暫存器儲存到堆疊)。若是c語言程式,儲存哪能些暫存器是c編譯器的事,不用我們管。

微控制器中斷使用的工作暫存器組,怎麼使用?有什麼要注意的!謝謝

3樓:匿名使用者

c語言編寫中斷的時候不是有個using引數

timer0_int() interrupt 1 using 2

4樓:匿名使用者

有專門的指令啊,而且大多數指令都是用暫存器的,你看看指令集就行了

51微控制器呼叫子程式問題,怎樣51微控制器呼叫兩個子程式

直接跳回主程式,再初始化。怎樣51微控制器呼叫兩個子程式 5 天蠍神經俠侶 mov r0,08h mov a,0feh loop mov p1,a lcall del rr a djnz r0,loop 使用djnz 指令。為0執行下一指令,不為0跳轉。就可以呼叫內兩個容子程式了 估計是進入到倒計時...

關於微控制器在呼叫子程式時,進行了怎樣的堆疊操作

斷點的pc值入棧,還有哪些東西呢?取決於子程式的型別和程式設計方式。有些特殊型別的子程式是需要入棧的,若採用高階語言程式設計則編譯器會自動新增相應的入棧出棧語句。有人說臨時變數不入棧,那cpu從子程式執行退回斷點時,臨時變數的值是如何恢復的呢?呵呵,為何要恢復?呼叫子程式的時候會從區域性變數塊中新分...

vb中子程式或函式未定義是什麼意思

vb中子程式或函式未定義是指sub,function,或 property 未定義等。sub,function,或 property 未定義 錯誤 35 呼叫 sub function 或 property 的過程必須定義。此錯誤有以下的原因和解決方法 o 過程名稱拼錯。檢查拼寫並改正。o 試圖從另...