彙編學習記錄之七

資料來源:彙編語言第二版-王爽

1.[bx]和loop指令

[bx]表示一個內存單元,它的偏移地址在bx中

我們要完整地描述一個內存單元,需要兩種信息:(1)內存單元的地址;(2)內存單元的長度(類型)。

loop指令的格式是:loop 標號

CPU執行loop指令的時候,要進行兩步操作:(1)inc cx 即通用寄存器中的值-1;(2)判斷通用寄存器cx中的值,不爲零則轉到標號處執行程序,如果爲零則向下執行。

從上面的描述中,我們可以看到,通用寄存器cx中的值影響着loop指令的執行結果。通常我們使用loop指令來實現循環功能,通用寄存器cx中存放循環次數。

2.段前綴

出現在訪問內存單元的指令中,用於顯式地指明內存單元的段地址的"ds:"、"cs:"、"ss:"或者"es:",在彙編語言中稱爲段前綴。

3.and和or指令

(3.1)and指令:邏輯與指令,按位進行與運算。

(3.2)or指令,邏輯或指令,按位進行或運算。

4.si寄存器和di寄存器

si和di是8086CPU中和bx功能相近的寄存器,si和di不能夠分成兩個8位寄存器來使用,只能按照16位的寄存器進行使用。

5.不同尋址方式的靈活應用

尋址方式有以下幾種:

(1)[idata] 用一個常量來表示地址,可用於直接定位一個內存單元;

(2)[bx] 用一個變量來表示內存地址,可用於間接定位一個內存單元;

(3)[bx+idata] 用一個變量和常量表示地址,可在一個起始地址的基礎上用變量間接定位一個內存單元;

(4)[bx+si] 用兩個變量來表示內存地址;

(5)[bx+si+idata] 用兩個變量和一個常量來表示地址。

6.bx,si,di,bp

(6.1)在8086CPU中,只有bx,si,di,bp這四個寄存器可以用在"[···]"中來進行內存單元的尋址。

(6.2)在[···]中,這四個寄存器可以單個出現,或只能以四種組合出現:bx和si,bx和di,bp和si,bp和di。

(6.3)只要在[···]中使用寄存器bp,而指令中沒有顯性地給出段地址,段地址就默認在ss中

 

 

 

有錯誤請指正,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章