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

2021-10-22 02:19:51 字數 1583 閱讀 7032

即 ax,bx,cx,dx,sp,bp,si,di,ip,flag,cs,ds,ss,es 共 14 個。

而這 14 個暫存器按照一定方式又分為了通用暫存器,控制暫存器和段暫存器。

通用暫存器:

ax,bx,cx,dx 稱作為資料暫存器:

ax (accumulator):累加暫存器,也稱之為累加器;

cx (count):計數器暫存器;

dx (data):資料暫存器;

sp 和 bp 又稱作為指標暫存器:

sp (stack pointer):堆疊指標暫存器;

bp (base pointer):基指標暫存器;

si 和 di 又稱作為變址暫存器:

si (source index):源變址暫存器;

di (destination index):目的變址暫存器;

控制暫存器:

ip (instruction pointer):指令指標暫存器;

flag:標誌暫存器;

段暫存器:

cs (code segment):**段暫存器;

ds (data segment):資料段暫存器;

ss (stack segment):堆疊段暫存器;

es (extra segment):附加段暫存器;

第零講說到「暫存器在cpu中。內存在記憶體條中。前者的速度比後者快100倍左右。後面的程式要求每條指定要麼沒有記憶體資料,要麼在有乙個暫存器的參與下有乙個記憶體資料。(也就是說,不存在只訪問記憶體的指令)。」

暫存器是在cpu中的儲存器,而記憶體是在記憶體條中的儲存器。cpu訪問暫存器,只需要通過微指令直接就可以訪問,而訪問記憶體則要先經過匯流排,再由匯流排到達記憶體控制器,讀到某單元的記憶體資料後放上匯流排,再傳到cpu中,cpu才能使用。

8086系列計算機的暫存器,共有14個,每個都是十六位的。

ax,bx,cx,dx,sp,bp,si,di,cs,ds,ss,es,ip,flags。

其中前四位,每個可以單位再分成兩個,ax=ah+al,bx=bh+bl,cx=ch+cl,dx=dh+dl。這些分開的每個都是8位的。

這個分開不要理解成平時語言中的分開,你可以理解為ax是由ah和al組合成的,你給al付值,就意味著同時給ax的低半部付值。你給ax付值,就意味著同時改變ah和al。這樣作的好處是你可以更靈活地控制這個暫存器。

3.5 指令說明

看了3.3的指令集和3.4的暫存器,是不是已經了,或者了?不要急,上面的東西雖然多,我也沒讓你一下學會,(其實有些永遠也不會似乎也不是什麼大不了的事)。為了應付看的懂我後面所說的,我把其中的指令挑幾個重點的,你必須要記住,其它的慢慢學吧。

1資料傳輸指令。

mov a,b

注意不是move,這個指令是把b中的資料複製給a,(b中仍儲存原狀)。這裡的a和b可以是暫存器,可以是記憶體。但可以同時是暫存器,不能同時是記憶體。比如

mov ax,100 ;這是對的,注意100在這裡叫立即數,但這個數在編譯系統編譯成exe的時候儲存在記憶體中。如果學過別的高階語言,你就可以理解為這就是賦值語句 let ax=100/ax:=100;/ax=100。

rep         當cx/ecx<>0時重複.

組合語言 mov指令,暫存器,定址

馮諾依曼計算機,將計算機分為5大部件 運算器,控制器,儲存器,輸入裝置,輸出裝置。運算器和控制器共同執行指令。指令和資料一樣,儲存為二進位制資料。運算器和控制器共同組成cpu,cpu執行機器指令,也就是二進位制數。機器指令難於閱讀,編寫。所以人們用英語單詞來表示機器語言,這種方式被稱為組合語言。用組...

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

最近在學習協程方面的知識,在協程的一種實現方式中有一種是用彙編實現的,所以這裡再把彙編知識複習一下。暫存器按照其用途可分為以下4類 資料暫存器包括 個16位的暫存器 ax,bx,cx,dx 或者8個8位的暫存器 ah,al,bh,bl,ch,cl,dh,dl 這些暫存器都是用來暫時存放運算元,運算結...

彙編指令狀態暫存器訪問指令(MRS,MSR)

arm中有兩條指令用於在狀態暫存器和通用暫存器之間傳送資料。針對32位的arm處理器,狀態暫存器就是乙個32位長的暫存器。每個位的含義如下圖 分成了4部分 1,條件標誌位 n negative z zero c carry v verflow 統稱為條件標誌位。arm指令可以根據cpsr中的這些條件...