彙編4--[BX]和loop指令

4.1[bx]是什麼?
之前我們寫過mov ax,[0]這樣的彙編指令,表示數據從一個內存單元傳送到寄存器。但這樣的彙編指令寫在編譯器裏是不能通過的。[bx]的作用就是代替彙編指令中要用到的像[0]這樣的內存單元,在使用前先向bx傳送值。上面的彙編指令可以改寫成 mov bx,0 mov ax,[bx].
但是如果加上了段超越前綴,比如ds:[0],這樣的寫法就是可以通過編譯器的

4.2loop指令
作用相當於c語言中的while,讓某一個語句循環執行,在彙編語言中,loop指令和cx寄存器有很大關係。 每次執行loop指令cx寄存器中的數據會-1,然後會記性判斷,如果cx中的數據不爲0就循環執行某一語句,如果爲0就結束循環。以下是格式
s: mov ax,ax
loop s

4.3安全內存空間
一般pc機中,都不會使用0:200-0:02ff的256個內存空間,我們可以用這段空間來存放數據

4.4段前綴
形如es:[bx],es就是段前綴,這樣當程序中需要吧數據存放到指定內存單元時就不用在設置ds,用es:[bx]表示即可

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