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