學C語言的時候老師說暫存器沒有位址,但是ARM晶元手冊中,每個暫存器又都有乙個位址?暫存器到底有沒有位址?

時間 2021-06-02 00:23:59

1樓:empty

ARM的CPU中的暫存器對程式設計的人是不可見的,你寫的程式編譯成彙編指令後每條指令都是通過這些暫存器來運算另外CPU(程式設計師)也可以通匯流排訪問對映到位址空間內的各種外設暫存器,這些暫存器是程式設計師可見的。 以上兩種暫存器完全不一樣

2樓:Buridan

學C語言的時候,老師說的暫存器一般是指x86的AX、BX、CX等的直接參與CPU計算的暫存器,自然是沒位址的。

你說的ARM裡的暫存器是指一些外設的控制、狀態暫存器,被對映到記憶體中去了,所以有位址,直接通過位址讀寫資料。

3樓:John Lee

題主所謂的「沒有位址的暫存器」,正規的稱謂是「處理器暫存器」,也有叫「通用暫存器」的。參考: https://

en.wikipedia.org/wiki/Processor_register

而「有位址的暫存器」,正規的稱謂是「特殊功能暫存器」。參考:https://

en.wikipedia.org/wiki/Special_function_register

4樓:仇偉佳

暫存器位址就是

1號暫存器,2號暫存器。。。

對於Arm來說,R0~R14。。。

對x86 eax等

從硬體上講,位址就是通過n根先啟用某個儲存單元,是他成為當前單元,並可進行讀寫

5樓:張帥

暫存器沒位址是對於你說的,暫存器有位址是對於程式說的,你寫的源程式裡以暫存器名指代暫存器,經過編譯後就變成了位址。你能讀懂的是名字,機器能讀懂的是位址。

6樓:

他講的暫存器指的是x86/AMD的暫存器吧,別把微機和微控制器以及其他架構的處理器搞混了,學了微機原理你就知道了,PC機的CPU的暫存器是靠暫存器的名字定址的,不是靠位址定址的,所以PC機的暫存器是沒有位址的

請問下,先學C語言程式設計呢還是先學C語言的資料結構和演算法呢?

巖巖巖耶 先學C語言,C語言的資料結構和演算法大部分是由C語言裡的陣列和鍊錶實現的,C語言程式設計是基礎,資料結構和演算法是高階,基礎打牢固高階才有意義有效果 如果只是想學習程式設計,不推薦C語言,很容易陷入語法裡 忽略了程式設計的本質。如果就是專門來學C語言的,我也建議你先拿一門更 高階 的語言入...

語言零基礎在西班牙留學,語言班老師說的都聽不懂,如何快速提高自己的聽力與口語,這樣明年能申請大學嗎?

SerEdu賽樂西語 重點不是能不能申請到的問題,即便是你能申請,你現在的語言水平也申請不上學校啊!目前最重要的是學好語言!你聽不懂可能是因為你語言班的水平高過你目前的語言水平,申請降個等級。還是聽不懂的話,就白天學習,自己回家之後看書。我以前也是這樣過來的,偶爾也會崩潰,挺過來就好了。這樣的模式你...

C語言是學python的基礎嗎?

Connor 完全沒有關係,使用的領悟也不同,C語言主要是弄內嵌式這些,Python則是人工智慧這些。唯一的共同點就是都是可以用來作為程式設計的入門語言,不過看評價而言,python可能更加好學一些 Vinson 不是C是編譯型語言,生成可執行檔案 Python是解釋型語言,讀取一句執行一句但還是建...