彙編基礎之暫存器及彙編指令

2021-09-19 15:25:14 字數 943 閱讀 3401

最近在學習協程方面的知識,在協程的一種實現方式中有一種是用彙編實現的,所以這裡再把彙編知識複習一下。

暫存器按照其用途可分為以下4類:

資料暫存器包括4個16位的暫存器(ax,bx,cx,dx)或者8個8位的暫存器(ah,al,bh,bl,ch,cl,dh,dl),這些暫存器都是用來暫時存放運算元,運算結果或者其他資訊,但同時又具有某些專門的用途。

這些暫存器都是16位的暫存器,用來存放16為的運算元或者中間結果,但是更常見的是存放偏移量或者位移量

注意:上述為16位處理其器中的暫存器的名字,在32和64位系統中,暫存器中名字有相應的變化,具體看下面(32位在前面加e,64在前面加r,64位系統的中含有16個64位的通用暫存器):

彙編指令的格式如下:

[標號:] 指令助記符[[目的運算元][,源運算元]][;注釋]
彙編指令中常見的符號:

彙編指令可以分成六類:

資料傳送指令

push src(壓棧指令): 將乙個字資料壓入當前棧頂, 位移量disp=-2的位址單元. 資料進棧時, 棧指標sp首先向低位址方向移動兩個位元組位置, 接著資料進棧, 形成新的棧頂

pop dst(出棧指令):彈出棧頂元素, 後將棧頂指標向棧底方向移動乙個字

xchg opr1, opr2(交換指令):交換指令: 將這兩個運算元交換

位址傳送指令

標誌傳送指令

累加器專用傳送指令加法指令

減法指令

乘法指令

除法指令邏輯運算指令

移位指令:

迴圈移位指令轉移指令:

迴圈指令

條件迴圈指令

子程式呼叫指令

中斷指令標誌處理指令:

其他處理器控制指令:

彙編暫存器,mov指令 2021 3 13

即 ax,bx,cx,dx,sp,bp,si,di,ip,flag,cs,ds,ss,es 共 14 個。而這 14 個暫存器按照一定方式又分為了通用暫存器,控制暫存器和段暫存器。通用暫存器 ax,bx,cx,dx 稱作為資料暫存器 ax accumulator 累加暫存器,也稱之為累加器 cx c...

彙編暫存器知識

一 32位cpu所含有的暫存器有 1 資料暫存器。4個 eax ebx ecx edx。2 變址暫存器 index register 2個 esi edi。3 指標暫存器 pointer register 2個 esp extended stack pointer ebp extended base...

彙編暫存器 8086

一 組合語言中,為什麼si和di不能同時使用彙編 其實你可以想一下,這兩個暫存器的意思,si源變址暫存器,di目地變址暫存器,既然是變址暫存器,那麼他們肯定是在某個位址的基礎上進行偏移變化,由此我們就得出了需要基址暫存器。你要是把這兩個暫存器同時使用,那你位址變化的基址都沒有,你該怎麼變化呢?你在誰...