- x86匯編與逆向工程:軟件破解與防護的藝術
- (美)斯蒂芬妮·多馬斯 (美)克里斯托弗·多馬斯
- 545字
- 2025-02-10 16:05:42
2.3.2 位、字節和字
位(bit)是計算機使用的基本單位。但是,位太小,提供的應用空間有限。因此,計算機并不操作和處理單一的位,而是將字節(byte)作為最小的內存單元來運作。在所有現代系統中,一個字節由8位組成。
盡管字節比位大,但它們對于很多操作來說仍然太小。計算機被設計為一次最佳地訪問某一確定數量的字節。這個數量的字節被稱為字(word),通常是2的冪,并且在不同的計算機之間可能會有所不同。例如,微控制器的字比較小,通常使用包含1個或2個字節(8位或16位)的字。通用計算機的字通常為4個或8個字節(32位或64位)。

圖2.2 Windows計算器中的進制轉換
位、字節和字是處理內存時最重要的術語,但并非唯一的。以下是一些常用術語:
? 位:取0或1。
? 字節:8位。
? 半字節(nibble):4位。
? 雙字節:16位。
? 四字節(quad-byte):32位。
? 字:取決于架構,一定數量的字節。
? 半字(halfword):一半的字。
? 雙字(doubleword,簡稱DWORD):兩個字。
? 四字(quadword,簡稱QWORD):包含四個字的單位。
? 八字(octoword)、雙四字(double quadword,簡稱DQWORD):由八個字組成。
本書主要研究32位架構。在傳統的32位架構中,一個字是32位。但這是x86架構的一個獨特之處。由于x86保持了與原始16位架構的向后兼容性,因此在x86架構中,一個字是16位,而一個雙字則是32位。
提示:在32位x86架構中,一個字節是8位,一個雙字是32位。