1. 程式人生 > >x86匯編語言基礎

x86匯編語言基礎

8086寄存器

一.匯編語言的特點
1.與機器相關性
2.執行的高效性
3.編寫程序的復雜性
4.調試的復雜性

二.通用寄存器
1.數據寄存器
數據寄存器用來存放計算的結果和操作數,也可以存放地址。
每個寄存器又有自己專用的目的:
AX:累加器,使用頻率最高,用於算數、邏輯運算以及外設傳遞信息等;
BX:基址寄存器,常用於存放存儲器的地址;
CX:計數器,作為循環和串操作等指令中的隱含計數器
DX:數據寄存器,常用於存放雙字長數據的高十六位,或存放外設端口地址;

2.變址寄存器
變址寄存器常用於存儲器尋址時提供地址
SI是源變址寄存器(Source)
DI是目的變址寄存器(Destination)
串操作類指令中,SI和DI具有特別的功能。

3.指針寄存器
指針寄存器用於尋址內存堆棧內的數據
SP為堆棧指針寄存器,指示棧頂的偏移地址
SP不能再用於其他目的,具有專用目的
BP為基址指針寄存器,表示數據在堆棧段中的基地址
SP和BP寄存器與SS段寄存器聯合使用以確定堆棧段中的存儲單元地址

4.棧
棧是主存中一個特殊的區域,本質上不屬於寄存器
棧通常由處理器自動維持,在8086中,由堆棧段寄存器SS和堆棧指針寄存器SP共同指示

5.指令指針寄存器
指令指針寄存器IP,指示代碼段中指令的偏移地址
它與代碼段寄存器CS聯用,確定下一條指令的物理地址
計算機通過CS:IP寄存器來控制指令序列的執行流程
IP寄存器是一個專用寄存器

6.標誌寄存器
標誌是為了反映指令執行結果或指令執行形式

x86匯編語言基礎