日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > 8086匯編指令總結(jié)

8086匯編指令總結(jié)

來源:程序員人生   發(fā)布時(shí)間:2014-11-20 08:59:12 閱讀次數(shù):3095次

經(jīng)過學(xué)習(xí),對(duì)8086匯編經(jīng)常使用指令進(jìn)行了以下總結(jié):

(1).mov : 移動(dòng)數(shù)據(jù)

例如:

mov ax, 8h ;mov 寄存器,常量 mov ax, bx ;mov 寄存器,寄存器 mov ax, ds:[0] ;mov 寄存器,內(nèi)存單元 mov ds:[0], ax ;mov 內(nèi)存單元,寄存器 mov ds, ax ;mov 段寄存器,寄存器 mov word ptr ds:[0], 8h ;mov (內(nèi)存單元大小聲明) 內(nèi)存單元, 常量 sk: mov ax, offset sk ;mov 寄存器,標(biāo)號(hào)偏移地址 mov byte ptr ds:[0], offset sk ;mov 內(nèi)存單元,標(biāo)號(hào)偏移地址

易錯(cuò)點(diǎn):

mov ds:[0], ds:[1] ;mov 內(nèi)存單元,內(nèi)存單元(非法指令) mov ds, 8h ;mov 段寄存器,常量(非法指令) mov ds, es ;mov 段寄存器,段寄存器(非法指令) mov ds, offset sk ;mov 段寄存器,標(biāo)號(hào)偏移地址(非法指令) mov [0], ax ;常量偏移地址不可省略默許ds,必須作段地址聲明(非法指令)


(2).add:增加數(shù)據(jù)值,用法同mov類似

(3).sub:減少數(shù)據(jù)值,用法同mov類似


(4).push:入棧,棧頂指針(sp)=(sp)+2,,并將1個(gè)字?jǐn)?shù)據(jù)存入sp所指內(nèi)存單元

例如:

push ax ;push 寄存器 push ds:[0] ;push 內(nèi)存單元
易錯(cuò)點(diǎn):

push al ;push 寄存器(高/低)字節(jié)(非法指令),必須是1個(gè)字,16位數(shù)據(jù) push 8h ;push 常量(非法指令)

(5).pop:出棧,讀取1個(gè)字sp所指的內(nèi)存單元,并使棧頂指針(sp)=(sp)⑵

例如:

pop ax ;pop 寄存器 pop ds:[0] ;pop 內(nèi)存單元

易錯(cuò)點(diǎn):

pop al ;pop 寄存器(高/低)字節(jié)(非法指令),必須是1個(gè)字,16位數(shù)據(jù) pop 8h ;pop 常量(非法指令)

(6).inc:數(shù)據(jù)值+1, dec:數(shù)據(jù)值⑴

例如:

inc ax ;inc 寄存器 inc byte ptr ds:[0] ;inc (大小聲明)內(nèi)存單元 dec ax ;dec 寄存器 dec byte ptr ds:[0] ;dec (大小聲明)內(nèi)存單元

易錯(cuò)點(diǎn):

inc 8h ;inc 常量(非法指令) dec 8h ;dec 常量(非法指令)

(7).jmp:無條件轉(zhuǎn)移指令

例如:

s: jmp short s ;段內(nèi)短轉(zhuǎn)移,jmp short 標(biāo)號(hào),IP修改范圍⑴28~127 jmp near ptr s ;段內(nèi)近轉(zhuǎn)移,jmp near ptr 標(biāo)號(hào), IP修改范圍⑶2768~32767 ;以上兩條指令的實(shí)質(zhì)為保存IP到標(biāo)號(hào)的偏移距離,注意正確使用 jmp far ptr s ;段間轉(zhuǎn)移(遠(yuǎn)轉(zhuǎn)移),jmp far ptr s, 修改CS:IP為標(biāo)號(hào)的段地址:偏移地址 jmp ax ;段內(nèi)轉(zhuǎn)移,jmp 16位reg, (IP)=(16位reg) jmp word ptr ds:[0] ;段內(nèi)轉(zhuǎn)移,jmp word ptr 內(nèi)存單元地址, ;(IP)=(內(nèi)存單元地址處雙字節(jié)內(nèi)存) jmp dword ptr ds:[0] ;段間轉(zhuǎn)移,jmp dword ptr 內(nèi)存單元地址, ;(IP)=(內(nèi)存單元地址處低16位內(nèi)存數(shù)據(jù)),(CS)=(內(nèi)存單元地址處高16位內(nèi)存數(shù)據(jù))

易錯(cuò)點(diǎn):

jmp 1000:0 ;想轉(zhuǎn)移到(cs:ip)=(1000:0)處(非法指令) jmp offset s ;想轉(zhuǎn)移到標(biāo)號(hào)s處(非法指令)

(8).jcxz:有條件轉(zhuǎn)移指令,等價(jià)于
if((cx)==0) jmp short 標(biāo)號(hào);


(9).loop:循環(huán)指令,等價(jià)于

(cx)--; if((cx)!=0)jmp short 標(biāo)號(hào);

(10).and:2進(jìn)制與運(yùn)算,同mov,add,sub用法相似

(11).or:2進(jìn)制或運(yùn)算, 同mov,add,sub用法相似

例如:

and ds:[0], 1111h ;and 內(nèi)存單元 and ax, 1111h ;and 16位寄存器 常量 and al, 11111110b ;and 8位寄存器 常量(第0位設(shè)為0) and ax, bx ;and 16位寄存器,16位寄存器 ;等等... or ds:[0], 1111h ;or 內(nèi)存單元 or ax, 1111h ;or 16位寄存器 常量 or al, 00000001b ;or 8位寄存器 常量(第0位設(shè)為0) or ax, bx ;or 16位寄存器,16位寄存器 ;等等...

(12).mul:乘法指令

;(1)兩個(gè)相乘的數(shù):兩個(gè)相乘的數(shù),要末都是8位,要末都是16位。如果是8位, ;1個(gè)默許放在AL中,另外一個(gè)放在8位reg或內(nèi)存字節(jié)單元中;如果是16位,1個(gè)默許在 ;AX中,另外一個(gè)放在16位reg或內(nèi)存單元中。 ;(2)結(jié)果:如果是8位乘法,結(jié)果默許放在AX中;如果是16位乘法,結(jié)果高位默許在 ;DX中寄存,低位在AX中放。 ;計(jì)算100*10 mov al, 100 mov bl, 10 mul bl ;結(jié)果:(ax)=1000(03E8h) ;計(jì)算100*10000 mov ax, 100 mov bx, 10000 mul bx ;結(jié)果:(ax)=4240H, (dx)=000FH (F4240H=1000000)

(13).div:除法指令

;除數(shù):有8位和16位兩種,在1個(gè)reg或內(nèi)存單元中 ;被除數(shù):默許放在AX或DX和AX中,如果除數(shù)為8位,被除數(shù)則為16位, ;默許在AX中寄存;如果除數(shù)為16位,被除數(shù)位32位,在DX和AX中寄存,DX存 ;放高16位,AX寄存低16位 ;結(jié)果:如果除數(shù)為8位,則AL存儲(chǔ)除非操作的商,AH存儲(chǔ)除非操作的余數(shù); ;如果除數(shù)為16位,則AX存儲(chǔ)除法操作的商,DX存儲(chǔ)除法操作的余數(shù) ;計(jì)算100001/100 mov dx, 1 mov ax, 86A1H ;(dx)*10000H+(ax)=100001 mov bx, 100 div bx ;結(jié)果:(ax)=03E8H(即1000),(dx)=1(余數(shù)為1) ;計(jì)算1001/100 mov ax, 1001 mov bl, 100 div bx ;結(jié)果:(al)=0AH(即10),(ah)=1(余數(shù)為1)

(14)call 標(biāo)號(hào):等價(jià)于

push IP jmp near ptr 標(biāo)號(hào)

(15)ret : 等價(jià)于

pop IP
因此常如此配合使用:

call program1 program1: ;........ ret

(16)call far ptr 標(biāo)號(hào):等價(jià)于

push CS push IP jmp far ptr 標(biāo)號(hào)

(17).retf:等價(jià)于

pop IP pop CS
因此常如此配合使用:

call far ptr program2 program2: ;........ retf

(18)call word ptr 內(nèi)存地址:等價(jià)于

push IP jmp word ptr 內(nèi)存地址 ;例如: mov sp, 10h mov ax, 0123h mov ds:[0], ax call word ptr ds:[0] ;結(jié)果:(IP)=0123H, (SP)=0EH

(19)call dword ptr 內(nèi)存地址:等價(jià)于

push CS push IP jmp dword ptr 內(nèi)存單元地址 ;例如: mov sp, 10h mov ax, 0123h mov ds:[0], ax mov word ptr ds:[2], 0 call dword ptr ds:[0] ;結(jié)果:(CS)=0,(IP)=0123H,(sp)=0CH

(20)shl:邏輯左移指令

;(1)將1個(gè)寄存器或內(nèi)存單元中的數(shù)據(jù)向左移位; ;(2)將最后移出的1位寫入CF中 ;(3)最低位用0補(bǔ)充 ;例如: mov al, 01001000b shl al, 1 ;結(jié)果:(al)=10010000b, CF=0 ;若移動(dòng)位數(shù)大于1,則必須將移動(dòng)位數(shù)放在cl中 mov al, 01010001b mov cl, 3 shl al, cl ;結(jié)果:(al)=10001000b, 由于最后移除的1位是0,所以CF=0


(21)shr:邏輯右移指令

;(1)將1個(gè)寄存器或內(nèi)存單元中的數(shù)據(jù)向右移位; ;(2)將最后移出的1位寫入CF中 ;(3)最高位用0補(bǔ)充 ;例如: mov al, 10000001b shr al, 1 ;結(jié)果:(al)=01000000b, CF=0 ;若移動(dòng)位數(shù)大于1,則必須將移動(dòng)位數(shù)放在cl中 mov al, 01010001b mov cl, 3 shr al, cl ;結(jié)果:(al)=00001010b, 由于最后移除的1位是0,所以CF=0

(22)int 常量:中斷例程


總結(jié):

由上述可以看出8086匯編有以下語(yǔ)法規(guī)律:

(1)指令格式有3種情勢(shì):

指令   目標(biāo)   源

指令   目標(biāo)

指令

(2)除int指令外,“目標(biāo)”不能為常量

(3)當(dāng)“目標(biāo)”為段寄存器時(shí),“ 源”只能為寄存器

(4)"目標(biāo)“和"源"所占的內(nèi)存字節(jié)大小應(yīng)保證相同,

當(dāng)雙方顯式知曉內(nèi)存字節(jié)大小時(shí),若不相同,則沒法通過編譯,

當(dāng)唯一1方知曉內(nèi)存字節(jié)大小時(shí),數(shù)據(jù)處理則按該方內(nèi)存字節(jié)大小計(jì)算,

當(dāng)雙方都不知曉內(nèi)存字節(jié)大小時(shí),利用byte/word/dword ptr顯示聲明,其中dword ptr僅用于1些特殊指令。

(5)轉(zhuǎn)移指令有直接設(shè)置和位移偏移兩種,其中位移偏移有距離限制。





生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 一二三区免费 | 久久久久国产视频 | 国产一区二区三区四区五区3d | 亚洲视频精品一区 | 欧美一二区 | 男操女视频在线观看 | 成年人久久久 | 亚洲a毛片| 五月激情丁香 | 久久福利免费视频 | 日韩精品视频在线播放 | 欧美午夜电影在线观看 | 亚洲区中文字幕 | 久久久精选 | 综合久久综合 | 91短视频在线观看视频 | 欧美性hd | 美女在线视频免费 | 成人午夜视频网站 | 一区二区a视频 | 久久99精品国产一区二区三区 | 免费成人av在线 | √天堂资源地址在线官网 | 91超碰免费在线 | 亚洲一区久久 | 国产精品免费一区二区 | 欧美日韩在线精品 | 欧美三级免费网站 | 国产免费一级片 | 国产一区二区毛片 | 午夜日韩免费视频 | 九九热在线视频 | 91亚洲精选| 精品国产一区二区三区成人影院 | 亚洲欧洲av| 国产精品美女久久久久 | 日韩综合在线视频 | 欧美在线免费视频 | 亚洲一区二区三区四区精品 | 婷婷六月色 | 久久这里有精品 |