if/for/while這些高級語言的流程控制,LZ只能說這實在是十分神奇。在沒有接觸這部分內容的時候,LZ打死也 ...
前面我們所講的所有指令,代碼執行順序都是一條接着一條順序的執行。但是實際上在編碼過程中,會有某些結構,比如條件語句 if else ,循環語句 for,do while 和分支語句 switch 等等,都要求有條件的執行,根據數據測試的結果來決定操作執行的順序。 在機器代碼中,提供兩種基本的低級機制來實現有條件的行為:測試數據值,然后根據測試的結果來改變控制流或者數據流。 那么本篇博客我們就來詳 ...
2017-10-04 18:02 0 2192 推薦指數:
if/for/while這些高級語言的流程控制,LZ只能說這實在是十分神奇。在沒有接觸這部分內容的時候,LZ打死也 ...
AT&T匯編指令學習(GCC) 寄存器命名原則: 相比inter語法,AT&T語法格式要求所有的寄存器都必須加上取值符"%". 操作碼命令格式: 源/目的操作數順序: Intel語法格式中命令表示格式為:"opcode dest, src ...
引言 本系列拖了蠻久了,主要是因為LZ寫的時候其實剛看到第二章,因此這一段時間快速看了下第三章,並花了點時間沉淀了一下,這才耽誤了下來。 本文是3.X系列的第一篇,也是匯編世界的開篇。LZ一直在想如何能讓這一系列稍微變得有趣一些,因為第二章實在是太枯燥了,連LZ都覺得無聊至極 ...
深入理解計算機系統 卡內基·梅隆一門棵。 原書第3版資料. 第三版源碼. 原書第2版資料. 計算機系統漫游 源文件到目標文件的翻譯過程可分為四個階段, 這四個階段的程序被稱為預處理器,編譯器,匯編器和鏈接器,它們一起構成了編譯系統(compilation ...
Computer Systems A Programmer's perspective 關於進程與線程的相關知識 進程 像hello這樣的程序在現代系統上運行時,操作系統會提供一種假象,就好像系統上只有這個程序在運行。程序看上去是獨占地使用處理器、主存和I/O設備。處理器看上去就 ...
《深入理解計算機系統》,這本書,我多次想要好好完整的讀一遍,每次都是沒有堅持下去,但是作為一個開發者,自己想要成為為數不多的大牛之一,所以打算這次把這本書完整的好好讀一遍,並整理為相關的博客! 書的開頭說了一句話:計算機系統是由硬件和系統軟件組成,他們共同工作來運行應用程序。我們通常接觸更多 ...
本來LZ是打算好好研究一下JVM源碼的,不過想來想去,LZ覺得應該先了解計算機系統的原理,再去研究JVM源碼的精妙。因此LZ決定潛下心來好好研究下計算機系統原理,這是一個漫長的過程,因為《深入理解計算機系統》這本書很厚,而且這種書一般看起來速度不會太快。因此LZ打算做好每一個 ...
《深入理解計算機系統》第三章——程序的機器級表示。作者首先講解了匯編代碼和機器代碼的關系,闡述了匯編承上啟下的作用;接着從機器語言IA32着手,分別講述了如何存儲數據、如何訪問數據、如何完成運算以及如何進行跳轉。通過這些步驟,又告訴了我們分支語句、循環語句是怎么完成的,函數調用、棧幀結構 ...