回覆列表
  • 1 # 使用者3363183233505

    一個微控制器程式編譯後分為兩部分,一部分是程式中定義的全域性變數、區域性變數等,另一部分是程式的彙編指令流,這些指令流就是操作計算這些全域性變數的。

    程式執行時,從指令計數器的位置取指令執行。

    首先執行的一般是load指令(load a -> R0),load指令的功能就是把資料區的變數讀進來寫到暫存器中。

    當需要計算的變數都load 到暫存器組中時,接下來執行的一般是算術和邏輯指令,(R0 + 1 -> R1),這種指令的輸入運算元都是暫存器或常數,輸出是暫存器。

    執行完算術指令,我們就有了算術結果了,只是儲存在R1暫存器上。這個時候需要store指令把資料從R1中搬運到資料儲存區的變數位置。

    這就是一個簡單的累加程式的過程。

    資料從資料儲存器-->暫存器-->算術運算alu->暫存器-> 資料儲存器。 所有的指令都在程式儲存器。

    一般資料儲存區和程式儲存區都是統一編址,劃分在不同的區域

  • 中秋節和大豐收的關聯?
  • 提高自信的書籍,求推薦?