1,
匯編指令:具有對應的機器碼指令,被編譯為機器指令,最終由CPU執(zhí)行。
偽指令:由編譯器來執(zhí)行的指令,編譯器據(jù)其執(zhí)行相關(guān)的編譯工作。
2,
segment和ends定義一個段的起始,指令、數(shù)據(jù)、堆棧被劃分到不同的棧。
end標示一個匯編程序結(jié)束,assume假設(shè)某一段寄存器與segment…ends定義的段相關(guān)聯(lián)。
end后面加標號通知編譯器程序入口,設(shè)置CS:IP。
3,
mov cx,3
s:
add ax,ax
loop s
執(zhí)行l(wèi)oop時先cx減1,若cx不位0就跳轉(zhuǎn)至s處。
4,
and al,01110011B
or al,00111010B
5,
段寄存器:ds, ss, cs, es;
寄存器:ax, bx, cx, dx,
ah, al, bh, bl, ch, cl, dh, dl,
sp, bp, si, di。
6,
[bx], [bx+si], [bx+di], [bx+si+3], [bx+di+3] 段都為ds;
[bp], [bp+si], [bp+di], [bp+si+5], [bx+di+5] 段都為ss。
7,
除法,后面可跟寄存器或內(nèi)存單元。
div 寄存器
div 內(nèi)存單元
al = 16位/8位; ah = 16位%8位。
ax= 32位/16位;dx = 32位%8位。
地位商,高位余。
div word ptr [dx+si+8];ax為ax除該內(nèi)存單元值的商,dx為ax除改內(nèi)存單元的余數(shù)。
8,
dup數(shù)據(jù)復制
db 3 dup (0); 0 0 0
db 3 dup (0, 1,2);0,1,2, 0,1,2, 0,1,2
db一個數(shù)據(jù)一個字節(jié);dw一個數(shù)據(jù)一個字word,雙字節(jié);dd一個數(shù)據(jù)雙字double word,四字節(jié)。
9,
操作符offset取得標號的偏移地址,是由編譯器處理的符號。
mov ax, offset start;取標號start的偏移地址賦值給 ax
10,
jmp通過修改ip或cs:ip無條件跳轉(zhuǎn)。
jmp short 標號;ip = ip + (8位位移)
jmp near ptr 標號; ip = ip + (16位位移)
short是段內(nèi)短轉(zhuǎn)移,對ip的修改范圍是(-128--127)前后2的7次方
near ptr 段內(nèi)近轉(zhuǎn)移,范圍是(-32768--32767)前后2的15次方
這個位移不是標號的目的地址,是更具標號位置計算出來的當前ip值距離標號位置的的差,jmp根據(jù)這個相對位移位置加當前ip的值得到標號位置賦值給ip使其跳轉(zhuǎn)。
段間轉(zhuǎn)移:
jmp far ptr 標號;cs=標號所在段cs,ip=標號所在段ip
jmp ax; ip = ax
jmp word ptr ds:[0] ;ip = ds:[0]
jmp dword ptr ds:[0]; ip = ds:[0], cs = ds:[2]
11,
jcxz 標號; if(cx ==0){jmp short 標號}
loop 標號;cx--; if(cx!=0){ jmp short 標號}
ret; pop ip
retf ;pop ip 和pop cs
call 標號;push ip和 jmp near ptr 標號
call ax; push ip 和jmp near ptr ax
call word ptr ds:[0];同上
12,
乘法,后面可跟寄存器或內(nèi)存單元。
mul 寄存器
mul 內(nèi)存單元
如果是8位乘發(fā)結(jié)果放入 ax中,18位乘發(fā)高位放dx低位放ax
mul byte [0]; ax = al * ds:[0]
mul bx; ax = ax*bx的低位值,dx = ax*bx的高位值
當前文章:匯編:一些語法1-創(chuàng)新互聯(lián)
本文地址:http://aaarwkj.com/article40/dddcho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、搜索引擎優(yōu)化、軟件開發(fā)、虛擬主機、手機網(wǎng)站建設(shè)、自適應網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容