1. 程式人生 > >‘第五章 [BX]和loop指令

‘第五章 [BX]和loop指令

<1>[BX]

想要完整地描述一個記憶體單元,需要兩種資訊:(1)記憶體單元的地址(2)記憶體單元的長度(型別)。[BX]和[0]有些相似,表示一個記憶體單元,它的偏移地址在bx中。指令mov ax,[bx]的功能為將bx中存放的資料作為一個偏移地址EA,段地址SA預設在ds中,將SA:EA處的資料送入ax中,即(ax)=((ds)*16+(bx))。ps:此處的()表示的為括號內暫存器或者記憶體單元的內容。

<2>Loop指令

loop在英語中有迴圈的含義,所以這個指令應該和迴圈有關。loop指令的格式:loop 標號,這裡的標號指明瞭迴圈開始的地方。CPU執行loop指令的時候,要進行兩步操作:(1)(cx)=(cx)-1(2)判斷cx中的值,如果不為零則轉至標號處執行程式,如果為零則向下執行。經過書上所給示例的實踐,可以總結出用cx和loop指令相配合實現迴圈功能的3個要點:(1)在cx中存放迴圈次數(2)loop指令中的標號所標識的地址要在前面(3)要迴圈執行的程式段,要寫在標號和loop指令的中間。