不論我們是在用C語言還是用JAVA或是其他的語言編程時,我們會被屏蔽了程序的機器級的實現(xiàn)。機器語言不需要被編譯,可以直接被CPU執(zhí)行,其執(zhí)行速度十分 快。但是機器語言的讀寫性與移植性較高級語言低。高級語言被編譯后便成為了匯編語言,匯編語言十分接近機器語言。之后匯編代碼會轉(zhuǎn)化為機器語言。雖然現(xiàn)代 的編譯器能幫助我們將高級語言轉(zhuǎn)化為匯編語言,解決了不少問題,但是對于一個嚴謹?shù)某绦騿T來說,需要做到能夠閱讀和理解匯編語言。我們主要圍繞Intel來講 解。
一 Intel處理器的歷史演變
Intel處理器最的早是8086, 它是十六位的微處理器,作為第一代單芯片,8086知名度是相當(dāng)?shù)母摺V笥钟?0286、i386、i486、Pentium、PentiumPro、 Pentium/MMX、PentiumⅡ、PentiumIII等等的一系列處理器出現(xiàn)了。每個時間上相繼的處理器都是向后兼容的。Intel稱其指令集為IA32,也就是Intel32位體系結(jié) 構(gòu),也就是我們平常所說的x86。
二 程序編碼
我們寫一個C程序,用Unix命令行編譯p1.c和p2.c兩個文件。即為
延伸閱讀
我想了解如何學(xué)習(xí) |