cpu是暫存器的集合體。
高階語言經過編譯轉化為機器語言之後,通過暫存器進行運算(累加暫存器)和儲存處理。
根據功能將暫存器分為8類:
1.累加暫存器(accumulator register)
2.程式計數器(program counter)
3.基址暫存器(base register)
4.變址暫存器(index register)
5.指令暫存器(instruction register) cpu內部使用,程式設計師無法進行讀寫
6.通用暫存器(general purpose register)
7.棧暫存器(stack register)
8.標誌暫存器(flag register)
程式計數器:
儲存的是指令的記憶體位址。按照程式計數器中的記憶體位址來逐步執行指令。一般情況每條指令之後位址自動+1,若是有分支和迴圈則按照指令將程式計數器進行跳轉(可看做是將程式計數器設定為要執行的指令位址)。
標誌暫存器:
儲存累加暫存器的運算結果,有正、零、負三種狀態,分別是標誌暫存器的後三位用1表示。
...運算結果為負則為1
零 正
位 31 2 1 0
程式設計師眼中的語言
語言是一種工具,語言應需要產生,並應需要而發展。原始的語言和詞彙是一種直接 具體的符號及符號組合。感性是理性的啟端,發展了的語言是建立在自我描述之上的一種抽象。詞彙是語言的材料,詞法是語言的模板,語義則是語言的精神。抽象是實際需要,是選擇的結果,一致性是抽象的目的,而抽象本身卻是二義的。抽象意味著表...
我眼中的程式設計師
從事專案管理工作也有很長時間了,合作過的程式設計師也有幾十位了吧,跟他們的合作大多都是愉快的,我也很喜歡跟他們合作,因為很多的好想法只有通過程式設計師才能實現。跟我合作的程式設計師很多都不是軟體專業,而是物理,數學,無線電等等專業的,但是他們比起軟體專業的人毫不遜色,也許還要強一些。怎麼跟程式設計師...
程式設計師眼中的Redis
redis 是用c語言編寫的記憶體中的資料結構儲存系統,可以用來作資料庫 快取 訊息中介軟體.資料結構 字串 strings 值是任何種類的字串 雜湊 hashs 值是map 字典,陣列 鍊錶,不管讀多還是寫多都能很好的效能 列表 lists 鍊錶或佇列或棧 集合 sets 無序集合,可用交集 差集...