彙編基礎知識

2021-06-21 21:20:10 字數 1152 閱讀 5795

1.si和di

功能和bx相似,只是不能分成2個8暫存器使用。

2inc ax指令

將暫存器的內容加1

mov ax,0

inc ax

執行完畢ax=1

3.bx,si,di,bp暫存器

cpu的核心是暫存器,學習彙編這麼一段時間,我也深刻體會到對暫存器理解的重要性

(1)在8086cpu中,只有這4個暫存器可以在[...]中來進行記憶體單元的定址。比如下面指令是正確的。

mov ax,[bx]

mov ax,[bx+si]

mov ax,[bp]

mov ax,[bp+si]

mov ax,[bp+di]

而下面的指令是錯誤的:

mov ax,[cx]

mov ax,[ax]

mov ax,[dx]

mov ax,[ds]

(2)在[...]中,這4個暫存器可以單個出現,或者只能以四中組合出現:bx和si、bx和di、bp和si、bp和di

比如下面的指令是錯誤的:

mov ax,[bx+bp]

mov ax,[si+di]

(3)只要在[...]中使用暫存器bp,而指令中沒有顯性給出段位址,段位址就預設在ss中,比如:

mov ax,[bp]含義:(ax)=((ss)*16+(bp))

mov ax,[bp+idata]含義:(ax)=((ss)*16+(bp)+idata)

mov ax,ds:[bp]

mov ax,es:[bx]

5.指令要處理的資料有多長?

8086cpu的指令,可以處理倆種尺寸的資料,byte和word。所以在機器指令中要指明,指令進行的是字操作還是位元組操作。對於這個問題,組合語言如下處理:

(1)通過暫存器指明

mov ax,1

mov bx,ds:[0]

上面都是word

mov al,1

mov al,bl

上面都是byte

(2)在沒有暫存器的情況下,用操作符x ptr指明記憶體單元長度,x可以是word或者byte

mov word ptr ds:[0],1

inc word ptr [bx]

inc word ptr [bx],2

彙編基礎知識

最近感覺自己學的到了乙個瓶頸,學的不知道有多少是記住的,總是感覺自己要學的東西有那麼多,時間又太少。專業課也越來越多,花在程式設計上的時間就少了,但是這畢竟是我的興趣愛好,所以我不想放棄。昨晚突然有個想法,以後寫部落格的頻率加快,儘管這樣部落格的質量也就下降了很多,但是我還是覺得部落格就是來記錄我成...

彙編 基礎知識

一 進製數的表示 十進位制後加d,二進位制後加b,八進位制加o,十六進製制加h 二 十進位制數轉換為二進位制數或十六進製制數 使用除2取餘法或使用除16取餘法,結果向上讀,如4,得餘數0 0 1,則相應二進位制為100,十六進製制數類似 三 二進位制數或十六進製制數轉換為十進位制數 使用權的展開式 ...

彙編基礎知識

cpu要從記憶體中讀資料,首先要指定儲存單元的位址,並指明對哪乙個器件進行操作,進行哪種操作,概括起來講,cpu要想進行資料的讀寫,必須和晶元進行下面3類資訊的互動 彙編指令是機器指令的築繼腹,同機器指令一一對應 每一種cpu都有自己的彙編指令集 cpu可以直接使用的資訊在儲存器中存放 在儲存器中指...