最近一段時間,在看組合語言方面的東西。
看的大部分都是基於8086。而8086的晶元中是16位的資料線,16位的暫存器。看了大部分指令後也是16位的。
所在在把程式移植到32位的處理器上的時候,就會發現有此不同。雖然處理器是32位的,但是它還是保留的ax,bx,cx,dx,bp暫存器還是16位。
其定址方式也按位元組定址。
比如16位的位址0000只是對應了乙個位元組的內容 cd,而16位的位址0001也是對應了乙個位元組的內容 如20。
那麼mov ax,[0000]
時,我們就把20cd內容送到了,這個32位的暫存器中去了。所以乙個字佔兩個位元組。
x86暫存器說明
32位cpu有2個32位通用暫存器esi和edi。其低16位對應先前cpu中的si和di,對低16位資料的訪問,不影響 高16位的資料。暫存器esi edi si和di稱為變址暫存器 index register 它們主要用於存放儲存單元在段內的偏移量,用它們可實現多種儲存器運算元的定址方式,為以不...
x86 暫存器資訊
下面的暫存器資訊適用於 x86 體系結構。暫存器說明 gs 交替資料段暫存器 fs 交替資料段暫存器 es 交替資料段暫存器 ds 資料段暫存器 edi 目標索引暫存器 esi 源索引暫存器 ebp 幀指標 esp 棧指標 ebx 通用暫存器 edx 通用暫存器 ecx 通用暫存器 eax 通用暫存...
X86暫存器簡述
x86暫存器簡述 一 80386微處理器的內部組成和結構 以前的機子都是16位的,功能沒有多大變化,intel 386是真正的32位微處理器。1 通用暫存器 8個通用暫存器和8086通用暫存器相同,只是擴充套件到了32位,暫存器名字前加了乙個字元e,即 eax ebx ecx edx esi edi...