十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
目錄
[...]與(...)
[...]
(...)
idata
Loop指令
段前綴
總結(jié)
(...)? 這個(gè)我們其實(shí)見過,代表的是一個(gè)內(nèi)存單元,段地址在DS中,偏移地址就是[bx]。
? 這個(gè)是表示一個(gè)內(nèi)存單元或寄存器中的內(nèi)容,但是千萬要注意,這個(gè)是人為規(guī)定的,不是匯編語法,上面那個(gè)是匯編語法。
idata? 比如:movax,[2],這個(gè)指令,用()來表示就是:(ax)=((ds)*16+2)。
Loop指令?我們規(guī)定,符號idata表示常量。
? 功能就是實(shí)現(xiàn)循環(huán),有點(diǎn)類似與C語言的for循環(huán),我們一起來看一看這到底是這么用的吧!?
這個(gè)計(jì)數(shù),靠的就是cx寄存器,cx寄存器里的數(shù)就是循環(huán)次數(shù),然后標(biāo)號就是執(zhí)行的語句。接下來我們來看一看匯編代碼。
- (cx)=(cx)-1;
- 判斷cx中的值不為零則轉(zhuǎn)至標(biāo)號處執(zhí)行程序如果為零則向下執(zhí)行。
assume cs:code
code segment
mov ax,2;
mov cx,11
s: add ax,ax
loop s
mov ax,4c00h
int 21h
code ends
end
段前綴? 我們可以看到這個(gè)代碼,本來很正常,但是經(jīng)過編譯之后,就變了,變成把00這個(gè)數(shù)放到AL寄存器里面了。?所以,我們需要使用段前綴來表示。
assume cs:code
code segment
mov ax,2000h
mov ds,ax
mov al,[0]
mov bl,[1]
mov cl,[2]
mov dl,[3]
mov ax,4c00h
int 21h
code ends
end
? 關(guān)于段前綴,使用方法還是比較簡單的,就是在地址前加上段地址,如下。
mov ax,2000h
mov ds,ax
mov bx,0
mov al,ds:[bx]
總結(jié)? 比較簡單,繼續(xù)學(xué)習(xí)。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧