cpu大體上可以分成以下三部分 (1
)算術邏輯部分
alu(
arithmeticlogicunit
),用來進行算術和邏輯運算 (2
)控制邏輯。 (3
)工作暫存器,每個暫存器相當於運算器中的乙個儲存單元,但它訪問速度快。用來存放運算過程中的需要或得到的各種資訊,包括運算元位址、運算元及運算的中間結果。
在計算機中,乙個二進位制數占用一位,八位是乙個位元組。
在計算機記憶體中,就是以位元組為單位來儲存資訊的。計算機給每乙個位元組單元分配乙個唯一的儲存器位址,稱為實體地址。當需要訪問相應的記憶體的資料時,就是通過這個位址。
乙個二進位制可以表達所有的ascii
,即乙個記憶體單元可以儲存乙個英文本元或數字等。而中文要用
unicode
表示,也就是需要兩個位元組單元才能裝乙個漢字。
十六位就是兩個位元組,才能裝乙個漢字。三十二位能裝兩個漢字叫做雙字。六十四位能裝四個漢字叫做四字。
通用暫存器一共有八個:eax
、ebx
、ecx
、edx
、esp
、ebp
、edi
、esi
其中eax
、ebx
、ecx
、edx
稱為資料暫存器,用於存放計算過程中所用運算元、結果或其他資訊。除了直接訪問外,還可分別對其高十六位和低十六位,它們的低十六位就是把它們前邊兒的e
去掉,即
eax的低十六位就是
ax。而且它們的低十六位又可以分別進行八位訪問,也就是說,
ax還可以再進行分解,即
ax還可分為
ah(高八位)
al(低八位)。
高16位
eax 高8
位(ah)
低16位(ax)
低8位(al)
則操作32
位數時可用:
moveax
則操作16
位數時可用:
movax
則操作8
位數時可用:
movah/moval
備註:從386
以後,所有暫存器都可以用來儲存記憶體位址。在破解的時候是不是看到過[ebx]
這樣的形式呢?這就是說此時
ebx中裝的是乙個記憶體位址,而真正要訪問的,就是那那個記憶體單元中所儲存的值。
esp、
ebp、
edi、
esi四個暫存器主要用途就是在儲存器定址時,提供偏移位址。因此,它們可以稱為指標或變址暫存器。
esp稱為堆疊指標暫存器。堆疊是以「
後進先出
」方式工作的乙個儲存區,它必須存在於堆疊段中,因而其段位址存放於
ss暫存器中。它只有乙個出入口,所以只有乙個堆疊指標暫存器。
esp的內容在任何時候都指向當前的棧頂。
當向堆疊中壓入資料時,esp會向上移動,使用
push
指令,esp
變化為:
esp-
資料位數。
當向堆疊中壓出資料時,esp會向下移動,使用
pop指令,
esp變化為:
esp+
資料位數
ebp,它稱為基址指標暫存器,它們都可以與堆疊段暫存器
ss聯用來確定堆疊中的某一儲存單元的位址,
esp用來指示段頂的偏移位址,而
ebp可作為堆疊區中的乙個基位址以便訪問堆疊中的資訊。
esi(源變址暫存器)和
edi(目的變址暫存器)一般與資料段暫存器
ds聯用,用來確定資料段中某一儲存單元的位址。這兩個變址暫存器有自動增量和自動減量的功能,可以很方便地用於變址。在串處理指令中,
esi和
edi作為隱含的源變址和目的變址暫存器時,
esi和
ds聯用,
edi和附加段
es聯用,分別達到在資料段和附加段中定址的目的。
專用暫存器,有兩個,乙個是eip
,乙個是
flags。
eip算是所有暫存器中最重要的乙個了。它的意思就是指令指標暫存器,它用來存放**段中的偏移位址。在程式執行的過程中,它始終指向下一條指令的首位址。它與段暫存器
cseip
eip暫存器來控制指令序列的執行流程的。那些跳轉指令,就是通過修改
eip的值來達到相應的目的的。
flags,標誌暫存器,又稱
psw(programstatusword)
,即程式狀態暫存器。這乙個是存放條件標誌碼、控制標誌和系統標誌的暫存器。
下面有個例子
cmpeax,ebx;用
eax與
ebx相減
jnz00470395;不相等的話,就跳到這裡
;這兩條指令很簡單,就是用eax
暫存器裝的數減去
ebx暫存器中裝的數。來比較這兩個數是不是相等,當
cmp指令執行過後,就會在
flags的zf
(zeroflag
)零標誌位上置相應值,如果結果為
0,也就是他們兩個相等的話,zf置
1,否則置
0。其它還有
of(溢位標誌)
sf(符號標誌)
cf(進製標誌)
af(輔助進製標誌)
pf(奇偶標誌)等。
段暫存器一共六個,分別是cs
**段,
ds資料段,
es附加段,
ss堆疊段,
fs以及
gs這兩個還是附加段。
暫存器入門
暫存器是cpu的組成部件之一,cpu在進行計算時,因為速度太快的原因,無法與記憶體 dram 直接進行操作。所以需要將所需的資料先從記憶體中提取到暫存器中,在對暫存器進行操作。為了緩解dram與cpu的速度差,計算機在cpu與dram之間還有乙個cache元件 sram 從記憶體中取出資料到暫存器中...
軟體破解入門教程和解密常用手冊
作為乙個電腦愛好者,相信手頭一定有不少酷軟,但往往這些軟體有各種限制,所以你是不是常常為了乙個小小的註冊碼,而經常頭痛呢?是不是為了找到乙個軟體的註冊碼而費盡心機呢?但大家是否想過自己來破解軟體得出註冊碼?你也許會說太難了,網上找乙個註冊碼得了,如果你是用自己的技術把軟體註冊了,一定會有另一番美妙感...
彙編基礎 常用暫存器及其用途
通用暫存器的主要用途 暫存器的分類 暫存器主 要 用 途 通 用暫存器 資料 暫存器 ax乘 除運算,字的輸入輸出,中間結果的快取 al位元組的乘 除運算,位元組的輸入輸出,十進位制算術運算 ah位元組的乘 除運算,存放中斷的功能號 bx儲存器指標 cx串操作 迴圈控制的計數器 cl移位操作的計數器...