第18章8086808指令集參考_第1頁(yè)
第18章8086808指令集參考_第2頁(yè)
第18章8086808指令集參考_第3頁(yè)
第18章8086808指令集參考_第4頁(yè)
第18章8086808指令集參考_第5頁(yè)
已閱讀5頁(yè),還剩105頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第第1818章章 8086/80888086/8088指令集參考指令集參考 第第18章章 8086/8088指令集參考指令集參考 18.1 指令碼編碼規(guī)則指令碼編碼規(guī)則 18.2 按字母順序排列的指令集按字母順序排列的指令集 第第1818章章 8086/80888086/8088指令集參考指令集參考 18.1 指令碼編碼規(guī)則指令碼編碼規(guī)則 18.1.1 寄存器的編碼 使用寄存器的機(jī)器指令碼,可用3位指明是哪一個(gè)寄存器,并有一個(gè)用來(lái)表示其“寬度”為字節(jié)或字的“w”位。此外,只有某些指令可以存取到段寄存器。圖18-1列出了所有寄存器的編碼。第第1818章章 8086/80888086/8088指令

2、集參考指令集參考 -通用、基地址及段寄存器編碼 編碼 w=0 w=1 000 al ax 001 cl cx 010 dl dx 011 bl bx 100 ah sp第第1818章章 8086/80888086/8088指令集參考指令集參考 101 ch bp110 dh si111 bh di編碼 段寄存器00 es01 cs10 ss11 ds-圖18-1 寄存器編碼 第第1818章章 8086/80888086/8088指令集參考指令集參考 例如,下面的mov指令具有一個(gè)字節(jié)的立即數(shù): mov ah,00 10110 100 00000000 w reg=ah 此例中,機(jī)器碼的第一個(gè)字

3、節(jié),指出操作數(shù)為一個(gè)字節(jié)(w=0),并且用到ah寄存器(100)。應(yīng)注意,不要從此例太早下結(jié)論,有些指令的w和reg可能在不同的位置。 第第1818章章 8086/80888086/8088指令集參考指令集參考 18.1.2 定址形態(tài)模式字節(jié) 若機(jī)器指令碼內(nèi)含有定址形態(tài)模式字節(jié),則它通常是第二個(gè)字節(jié),并且是由下列三部分組成的: (1) mod:占2位,表示定址形態(tài)模式,11表示用到了寄存器,而00、01及10表示用到了內(nèi)存單元。 (2) reg:占3位,表示用到了寄存器。 (3) r/m:占3位,表示用到了寄存器或內(nèi)存,r表示哪一個(gè)寄存器,m表示內(nèi)存單元地址。第第1818章章 8086/808

4、88086/8088指令集參考指令集參考 機(jī)器指令碼的第一個(gè)字節(jié)可能含有“d”位,表示第一個(gè)字節(jié)和第二個(gè)字節(jié)間的流向。 例如,將ax加給bx: add bx,ax 00000011 11 011 000 dw mod reg r/m 此例中d=1,表示mod(11)及reg(011)描述的是第一個(gè)操作數(shù)bx;而r/m(000)描述的是第二個(gè)操作數(shù)。因?yàn)閣=1,所以寬度是一個(gè)字。因此這個(gè)指令就是把a(bǔ)x(000)加給bx(011)。機(jī)器指令碼的第二個(gè)字節(jié),通常用來(lái)指出內(nèi)存的定址形態(tài)模式。下面將更詳細(xì)探討定址形態(tài)模式。第第1818章章 8086/80888086/8088指令集參考指令集參考 1.

5、mod位 mod 的兩個(gè)位用來(lái)區(qū)分是寄存器還是內(nèi)存的定址,其用法如下:00 以r/m位選用一種定址模式,沒(méi)有“偏移地址”字節(jié)。其中當(dāng)r/m110時(shí)指定為直接尋址方式01 以r/m位選用一種定址模式,有一個(gè)“偏移地址”字節(jié)10 以r/m位選用一種定址模式,有兩個(gè)“偏移地址”字節(jié)11 以r/m位選用一個(gè)寄存器,“w”位(在操作碼字節(jié))決定它用到的是8位或16位的寄存器第第1818章章 8086/80888086/8088指令集參考指令集參考 2. reg位 reg的3個(gè)位配合w位決定實(shí)際使用的是8位或16位的寄存器。 3. r/m位 r/m的3個(gè)位(寄存器/內(nèi)存)配合mod決定定址模式,見(jiàn)圖18-

6、2。第第1818章章 8086/80888086/8088指令集參考指令集參考 -r/m mod=00 mod=01 mod=10 mod=11 mod=11 w=0 w=1000bx+sibx+si+dispbx+si+dispalax001bx+dibx+di+disp bx+di+disp cl cx010bp+si bp+si+dispbp+si+dispdldx011bp+dibp+di+dispbp+di+dispblbx第第1818章章 8086/80888086/8088指令集參考指令集參考 100 si si+disp si+dispahsp101 di di+disp di

7、+dispchbp110direct bp+disp bp+dispdhsi111 bx bx+disp bx+dispbhdi-圖18-2 r/m位 第第1818章章 8086/80888086/8088指令集參考指令集參考 18.1.3 2字節(jié)指令例18.1 將ax加給bx。 add bx,ax 0000 0011 11 011 000 dw mod reg r/md 1 指用reg及w描述第一個(gè)操作數(shù)(bx),用mod、 r/m及w描述第二個(gè)操作數(shù)(ax)w 1 表示寬度為一個(gè)字第第1818章章 8086/80888086/8088指令集參考指令集參考 mod 11 表示第二個(gè)操作數(shù)是一

8、個(gè)寄存器reg 011表示第一個(gè)操作數(shù)是bx寄存器r/m 000表示第二個(gè)操作數(shù)是ax寄存器第第1818章章 8086/80888086/8088指令集參考指令集參考 例18.2 al乘以bl。 mul bl 11110110 11 100 011 w mod reg r/m mul指令假設(shè)al內(nèi)放著被乘數(shù)。寬度(w=0)是一個(gè)字節(jié),mod表示要用到寄存器,而寄存器是bl(011)。reg=100在此沒(méi)意義。第第1818章章 8086/80888086/8088指令集參考指令集參考 18.1.4 3字節(jié)指令 下面的mov指令產(chǎn)生3字節(jié)的指令機(jī)器碼: mov mem,ax 10100001 dd

9、dddddd dddddddd 從累加器(ax或al)進(jìn)行傳送時(shí),必須明確處理的對(duì)象是字節(jié)還是字。本例中,w=1表示字,所以用到了16位的ax。若第二個(gè)操作數(shù)是al,則w=0。第2、3字節(jié)表示的是內(nèi)存單元的偏移地址。使用累加器的指令通常會(huì)產(chǎn)生高效率的機(jī)器指令碼。第第1818章章 8086/80888086/8088指令集參考指令集參考 18.1.5 4字節(jié)指令 例18.3 將al乘以一個(gè)內(nèi)存單元。 微處理器假設(shè)若為字節(jié)乘,則被乘數(shù)在al中,若為字乘,則被乘數(shù)在ax中。 mul mem_byte 11110110 00 100 110 w mod reg r/m 對(duì)于此指令,reg永遠(yuǎn)為100,

10、mod=00表示用到內(nèi)存單元,r/m=110意為直接引用內(nèi)存單元。機(jī)器指令操作碼后緊跟著兩個(gè)提供內(nèi)存單元的偏移地址的字節(jié)。第第1818章章 8086/80888086/8088指令集參考指令集參考 例18.4 lea指令返回指定內(nèi)存單元地址。 lea dx,mem 10001101 00 010 110 lea mod reg r/m reg=010代表dx寄存器。mod=00及r/m=110表示直接引用內(nèi)存單元。緊跟著的兩個(gè)字節(jié)提供內(nèi)存單元的偏移地址。第第1818章章 8086/80888086/8088指令集參考指令集參考 18.2 按字母順序排列的指令集按字母順序排列的指令集 本節(jié)按字母

11、順序列出指令集。為簡(jiǎn)潔起見(jiàn),把某些指令如移位及循環(huán)移位排在一起。另外對(duì)于8086、80286及80386微處理器,提供了一些本書(shū)范圍以外的特殊指令。除了前面討論的狀態(tài)字節(jié)及寬度位以外,以下列出有關(guān)指令中的縮寫(xiě):第第1818章章 8086/80888086/8088指令集參考指令集參考 addr 內(nèi)存單元的地址addr-high內(nèi)存單元地址的高字節(jié)addr-low 內(nèi)存單元地址的低字節(jié)data 立即數(shù)(若w=0為8位,w=1則為16位)data-high立即數(shù)的高字節(jié)data-low立即數(shù)的低字節(jié)disp 偏移地址(增量或偏移量)reg 寄存器第第1818章章 8086/80888086/808

12、8指令集參考指令集參考 * aaa:加法的ascii調(diào)整 功能:調(diào)整存放在al內(nèi)的兩個(gè)ascii字節(jié)的和。請(qǐng)參閱11.1.1節(jié)ascii數(shù)相加。標(biāo)志位:影響af及cf(of、pf、sf及zf不確定)。機(jī)器碼:00110111(無(wú)操作數(shù))* aad:除法的ascii調(diào)整功 能:調(diào)整ascii值的除法。請(qǐng)參閱11.1.4節(jié)ascii除法。標(biāo)志位:影響pf、sf、zf(af、cf及of不確定)。機(jī)器碼:|11010101|00001010|第第1818章章 8086/80888086/8088指令集參考指令集參考 * aam:乘法的acsii調(diào)整功能:調(diào)整兩個(gè)非壓縮型十進(jìn)制數(shù)相乘的積。aam先把a(bǔ)l

13、除以10,然后,商存于ah,除數(shù)留于al。aam無(wú)操作數(shù)。請(qǐng)參閱11.1.3節(jié)ascii乘法。標(biāo)志位:影響pf、sf及zf(af、cf及of不確定)。機(jī)器碼:|11010100|00001010|* aas:減法的acsii調(diào)整功能:調(diào)整al內(nèi)兩個(gè)ascii字節(jié)的差。請(qǐng)參閱11.1.2節(jié)ascii減法。標(biāo)志位:影響af及cf(of、pf、sf及zf不確定)。機(jī)器碼:00111111第第1818章章 8086/80888086/8088指令集參考指令集參考 * adc:帶進(jìn)位的二進(jìn)制加法 功能:通常用于多字節(jié)的二進(jìn)制加法。若cf標(biāo)志被設(shè)定為1,adc首先把第一個(gè)操作數(shù)加1,接著就像add指令,總

14、是把第二個(gè)操作數(shù)加到第一個(gè)操作數(shù)。 標(biāo)志位:影響af、cf、of、pf、sf及zf。第第1818章章 8086/80888086/8088指令集參考指令集參考 機(jī)器碼:(3種格式) reg/mem with reg:|000100dw|mod reg r/m| immed to accum r:|0001010w|-data -|data if w=1| immed to reg/mem:|100000sw|mod 010 r/m|-data -|data if sw=01|第第1818章章 8086/80888086/8088指令集參考指令集參考 * add:二進(jìn)制加法 功能:把內(nèi)存單元、寄

15、存器或立即操作數(shù)的字節(jié)或字的值加給寄存器,或把寄存器、立即操作數(shù)的字節(jié)或字加給內(nèi)存單元。 標(biāo)志位:影響af、cf、of、pf、sf及zf。 機(jī)器碼:(3種格式) reg/mem with reg:|000000dw|mod reg r/m| immed to accum r:|0000010w |-data-|data if w=1| immed to reg/mem:|100000sw|mod 000 r/m|-data-|data if sw=01|第第1818章章 8086/80888086/8088指令集參考指令集參考 * and:邏輯與 功能:對(duì)兩個(gè)操作數(shù)的每個(gè)位作邏輯與(and)運(yùn)

16、算,兩個(gè)操作數(shù)分別置于寄存器或內(nèi)存單元,同為字節(jié)或字。第二個(gè)操作數(shù)可為立即操作數(shù)。若相對(duì)應(yīng)的兩個(gè)位都是1,則and把第一個(gè)操作數(shù)的位設(shè)成1,否則設(shè)成0。請(qǐng)參閱or、xor及test。第第1818章章 8086/80888086/8088指令集參考指令集參考 機(jī)器碼:(3種格式) reg/mem with reg:|001000dw|mod reg r/m| immed to accum r:|0010010w|-data -|data if w=1| immed to reg/mem:|1010000w|mod 100 r/m|-data -|data if w=1|第第1818章章 8086

17、/80888086/8088指令集參考指令集參考 * call:調(diào)用子程序 功能:調(diào)用一個(gè)near或far的子程序。從子程序返回主程序用ret指令。call指令把sp減小,并把下一條指令的地址(即ip的內(nèi)容)壓入堆棧頂端,然后把目標(biāo)處的地址(偏移地址)送給ip。當(dāng)返回調(diào)用程序時(shí),ret指令把這些內(nèi)容還原。依段內(nèi)或段間調(diào)用有4種call指令。段間的call先遞減sp的值,把cs壓入堆棧,然后把ip壓入堆棧。 標(biāo)志位:無(wú)影響。第第1818章章 8086/80888086/8088指令集參考指令集參考 機(jī)器碼:(4種格式) direct within segment:| 11101000|disp-

18、low|disp-high| indir. within segment: |11111111|mod 010 r/m| indirect intersegment: |11111111|mod 011 r/m| direct intersegment: |10011010|offset-low|offset-high|seg-low|seg-high|第第1818章章 8086/80888086/8088指令集參考指令集參考 * cbw:字節(jié)擴(kuò)展成字 功能:把a(bǔ)l內(nèi)一個(gè)帶符號(hào)字節(jié)數(shù)擴(kuò)展成一個(gè)字。cbw把a(bǔ)l的正負(fù)號(hào)(bit 7)擴(kuò)展到整個(gè)ah。請(qǐng)參閱10.5.2節(jié)的字節(jié)轉(zhuǎn)換成字指令cbw。

19、標(biāo)志位:無(wú)影響。 機(jī)器碼:10011000(無(wú)操作數(shù)) * clc:清進(jìn)位標(biāo)志cf 功能:把cf標(biāo)志位清為0,例如使adc指令不至于多加1。clc無(wú)操作數(shù)。請(qǐng)參閱stc。 標(biāo)志位:cf(清為0)。 機(jī)器碼:11111000第第1818章章 8086/80888086/8088指令集參考指令集參考 * cld:清方向標(biāo)志df 功能:把df標(biāo)志位清為0,使cmps及movs之類(lèi)的字符串運(yùn)算指令從左向右執(zhí)行。請(qǐng)參閱std。 標(biāo)志位:df(清為0)。 機(jī)器碼:11111100(無(wú)操作數(shù)) * cli:清中斷標(biāo)志if 功能:使出現(xiàn)在處理器intr引腳線上的“可屏蔽外部中斷”失效,并將if標(biāo)志位清0。請(qǐng)參

20、閱sti。 標(biāo)志位:if(清為0)。 機(jī)器碼:11111010(無(wú)操作數(shù))第第1818章章 8086/80888086/8088指令集參考指令集參考 * cmc:取反cf 功能:把進(jìn)位標(biāo)志cf變成它的反,使cf的值,0變成1或1變成0。 標(biāo)志位:cf(取反)。 機(jī)器碼:11110101(無(wú)操作數(shù)) 第第1818章章 8086/80888086/8088指令集參考指令集參考 * cmp:比較 功能:比較兩個(gè)數(shù)據(jù)的大小。cmp在內(nèi)部將第一個(gè)操作數(shù)減去第二個(gè)操作數(shù),但不改變第一個(gè)操作數(shù)的值。操作數(shù)必須同為字節(jié)或字。cmp可把寄存器、內(nèi)存型數(shù)據(jù)或立即數(shù)與寄存器比較,或把寄存器、立即數(shù)與內(nèi)存型數(shù)據(jù)比較。

21、 標(biāo)志位:影響af、cf、of、pf、sf及zf。第第1818章章 8086/80888086/8088指令集參考指令集參考 機(jī)器碼:(3種格式) reg/mem with reg:|001110dw|mod reg r/m| immed to accum r:|0011110w|-data-|data if w=1| immed to reg/mem:|100000sw|mod111r/m|-data-|data if sw=01|第第1818章章 8086/80888086/8088指令集參考指令集參考 * cmps/cmpsb/cmpsw:字符串比較 功能:比較兩個(gè)任意長(zhǎng)度的字符串。這類(lèi)

22、指令通常配合指令前綴repn使用,例如,repe cmpsb。cmpsb比較內(nèi)存中的字節(jié),而cmpsw則比較內(nèi)存中的字。ds :si寄存器組對(duì)第一個(gè)操作數(shù)定址,es :di寄存器組對(duì)第二個(gè)操作數(shù)定址。若df標(biāo)志位為0,則比較方向由左向右,si及di遞增。若df為1,則比較方向由右向左,si及di遞減。 標(biāo)志位:影響af、cf、of、pf、sf及zf。 機(jī)器碼:1010011w第第1818章章 8086/80888086/8088指令集參考指令集參考 * cwd:擴(kuò)展字成為雙字 功能:把a(bǔ)x內(nèi)的一個(gè)帶符號(hào)數(shù)字,經(jīng)由正負(fù)號(hào)(第15位)擴(kuò)展至dx的所有位而成為dx:ax雙字。通常用來(lái)產(chǎn)生32位的被除

23、數(shù)。請(qǐng)參閱10.5.3節(jié)的字轉(zhuǎn)換成雙字指令cwd 。 標(biāo)志位:無(wú)影響。 機(jī)器碼:10011001(無(wú)操作數(shù)) 第第1818章章 8086/80888086/8088指令集參考指令集參考 * daa:加法的十進(jìn)制調(diào)整 功能:al內(nèi)是加的結(jié)果,而且是壓縮型的十進(jìn)制數(shù)(bcd數(shù)),daa調(diào)整al內(nèi)的兩個(gè)bcd數(shù)。若最右邊4位的值大于9或af標(biāo)志位為1,則daa把a(bǔ)l加06并將af標(biāo)志置“1”。若al的值大于9f或cf標(biāo)志位為1,daa把a(bǔ)l加60(hex),并將cf標(biāo)志置“1”。請(qǐng)參閱das。 標(biāo)志位:影響af、cf、pf、sf及zf(of不確定)。 機(jī)器碼:00100111(無(wú)操作數(shù))第第1818

24、章章 8086/80888086/8088指令集參考指令集參考 * das:減法的十進(jìn)制調(diào)整 功能:al內(nèi)是減的結(jié)果,而且是壓縮型的十進(jìn)制數(shù)(bcd數(shù)),das調(diào)整al內(nèi)的兩個(gè)bcd數(shù)。若最右邊4位的值大于9或af標(biāo)志位為1,則das把a(bǔ)l減去hex 60并將cf標(biāo)志置“1”。請(qǐng)參閱daa。 標(biāo)志位:影響af、cf、pf、sf及zf。 機(jī)器碼:00101111(無(wú)操作數(shù))第第1818章章 8086/80888086/8088指令集參考指令集參考 * dec:減1 功能:把寄存器或內(nèi)存單元的字節(jié)或字減1,例如dec cx。請(qǐng)參閱inc。 標(biāo)志位:影響af、of、pf、sf或zf。 機(jī)器碼:(2種

25、格式) register:| 01001reg | reg/memory:| 1111111w | mod 001 r/m |第第1818章章 8086/80888086/8088指令集參考指令集參考 * div:無(wú)符號(hào)數(shù)除法 功能:無(wú)符號(hào)的被除數(shù)(16或32位)除以無(wú)符號(hào)除數(shù)(8或16位)。請(qǐng)參閱10.4.1節(jié)的無(wú)符號(hào)數(shù)除法指令div。 標(biāo)志位:影響af、cf、of、pf、sf及zf(全部不確定)。 機(jī)器碼:| 1111011w | mod 110 r/m |第第1818章章 8086/80888086/8088指令集參考指令集參考 * esc:微處理器放棄 功能:使協(xié)處理器執(zhí)行特殊功能。有

26、些功能要用8087或80287之類(lèi)的協(xié)處理器作浮點(diǎn)運(yùn)算。esc指令把要處理的指令及操作數(shù)交給協(xié)處理器。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 11011 x x x | mod xxx r/m |(x位不重要)第第1818章章 8086/80888086/8088指令集參考指令集參考 * hlt:微處理器暫停 功能:使微處理器在等待中斷時(shí)進(jìn)入暫停狀態(tài)。hlt使cs及ip指到跟著hlt的下一條指令,然后處理器暫停。當(dāng)中斷發(fā)生時(shí),微處理器把cs及ip壓入堆棧,然后執(zhí)行中斷服務(wù)程序。返回調(diào)用程序時(shí),iret指令把堆棧內(nèi)容取出,從原來(lái)跟著hlt的下一條指令處開(kāi)始執(zhí)行。 標(biāo)志位:無(wú)影響。 機(jī)器碼:1111010

27、0(無(wú)操作數(shù))第第1818章章 8086/80888086/8088指令集參考指令集參考 * idiv:有符號(hào)數(shù)除法 功能:有符號(hào)的被除數(shù)(16或32位)除以有符號(hào)的除數(shù)(8或16位)。請(qǐng)參閱10.4.2節(jié)的帶符號(hào)數(shù)除法指令idiv。 標(biāo)志位:影響af、cf、of、pf、sf及zf。 機(jī)器碼:| 1111011w | mod 111 r/m |第第1818章章 8086/80888086/8088指令集參考指令集參考 * imul:有符號(hào)數(shù)乘法 功能:有符號(hào)數(shù)(8或16位)相乘。imul把最高位的1看成符號(hào)。請(qǐng)參閱10.3.2節(jié)的帶符號(hào)數(shù)乘法指令imul。 標(biāo)志位:影響cf和of(af、pf、

28、sf及zf不確定)。 機(jī)器碼:| 1111011w | mod 101 r/m |第第1818章章 8086/80888086/8088指令集參考指令集參考 * in:輸入 功能:從輸入端口(port)把一個(gè)字節(jié)數(shù)據(jù)傳送給al或把一個(gè)字傳送給ax。輸入端口可寫(xiě)成固定的數(shù)值操作數(shù)即直接地址(例如,in ax,port #),或dx內(nèi)的一個(gè)地址值(例如 in ax,dx)。8086、80286及80386提供ins(input string)指令。請(qǐng)參閱out。 標(biāo)志位:無(wú)影響。 機(jī)器碼:(2種格式) variable port:| 1110110w | fixed port:| 1110010w

29、 | -port- |第第1818章章 8086/80888086/8088指令集參考指令集參考 * inc:加1 功能:把寄存器或內(nèi)存單元的字節(jié)或字加1,例如,寫(xiě)成inc cx。請(qǐng)參閱dec。 標(biāo)志位:影響af、of、pf、sf或zf。 機(jī)器碼:(2種格式) register: | 01000 reg | reg/memory:| 1111111w | mod 000 r/m | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * int:中斷 功能:中斷正在執(zhí)行的程序,并把控制權(quán)轉(zhuǎn)移給256個(gè)中斷(向量)地址中的一個(gè)。int做下列事情: 把sp減2,標(biāo)志寄存器壓

30、入堆棧,并重新設(shè)置if及tf標(biāo)志; 把sp減2,cs壓入堆棧,再把中斷向量的兩個(gè)高字節(jié)拼成一個(gè)字放入cs; 把sp減2,ip壓入堆棧,再把中斷向量的兩個(gè)低字節(jié)拼成一個(gè)字放入ip。 標(biāo)志位:影響if及tf。 機(jī)器碼:| 1100110 v | -type- | (if v=0 type is 3)第第1818章章 8086/80888086/8088指令集參考指令集參考 * into:溢出中斷 功能:若發(fā)生溢出則產(chǎn)生中斷(of標(biāo)志位被設(shè)置為“1”),并執(zhí)行int 04。中斷地址放在地址hex 10h處。請(qǐng)參閱int。 標(biāo)志位:無(wú)影響。 機(jī)器碼:11001110 (無(wú)操作數(shù))第第1818章章 80

31、86/80888086/8088指令集參考指令集參考 * iret:中斷返回 功能:從中斷服務(wù)程序返回主程序,iret做下列事情: 把棧頂?shù)淖秩〕鏊徒oip然后sp加2; 再把棧頂?shù)淖秩〕龇湃隿s,sp加2; 取出棧頂?shù)淖址湃霕?biāo)志寄存器,sp加2。此指令把中斷時(shí)做的事還原然后返回。請(qǐng)參閱ret。 標(biāo)志位:影響全部。 機(jī)器碼:11001111(無(wú)操作數(shù))第第1818章章 8086/80888086/8088指令集參考指令集參考 * ja/jnbe:大于或不小于、等于轉(zhuǎn) 功能:測(cè)試一個(gè)無(wú)符號(hào)的數(shù)據(jù)后,將控制權(quán)轉(zhuǎn)移到另一個(gè)地址。若cf=0且zf=0,指令將操作數(shù)(偏移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。 標(biāo)志位:

32、無(wú)影響。 機(jī)器碼:| 01110111 | -disp- | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * jae/jnb :大于、等于或不小于轉(zhuǎn) 功能:測(cè)試一個(gè)無(wú)符號(hào)的數(shù)據(jù)后,將控制權(quán)轉(zhuǎn)移到另一個(gè)地址。若cf=0,把操作數(shù)(偏移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 01110011 | -disp- | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * jb/jnae:小于或不大于、等于轉(zhuǎn) 功能:測(cè)試一個(gè)無(wú)符號(hào)的數(shù)據(jù)后,將控制權(quán)轉(zhuǎn)移到另一個(gè)地址。若cf=1,把操作數(shù)(偏移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。 標(biāo)志位:無(wú)影響

33、。 機(jī)器碼:| 01110010 | -disp- | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * jbe/jna:小于、等于或不大于轉(zhuǎn) 功能:測(cè)試一個(gè)無(wú)符號(hào)的數(shù)據(jù)后,將控制權(quán)轉(zhuǎn)移到另一個(gè)地址。若cf=1或af=1,則把操作數(shù)(偏移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 01110110 | -disp- | * jc:cf=1 轉(zhuǎn) 功能:見(jiàn)jb/jnae(具有相同的作用)。第第1818章章 8086/80888086/8088指令集參考指令集參考 * jcxz:cx=0 轉(zhuǎn) 功能:若cx為0則跳到指定地址。jcxz在循環(huán)的開(kāi)始可能會(huì)很有用。

34、 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 11100011 | -disp- | * je/jz:若為0或相等轉(zhuǎn)(zf=1) 功能:測(cè)試一個(gè)有符號(hào)或無(wú)符號(hào)的數(shù)據(jù)后,將控制權(quán)轉(zhuǎn)移到另一個(gè)地址。若標(biāo)志位zf=1,把操作數(shù)(偏移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 01110100 | -disp- | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * jg/jnle:大于或不小于、等于轉(zhuǎn) 功能:測(cè)試一個(gè)有符號(hào)的數(shù)據(jù)后,將控制權(quán)轉(zhuǎn)移到另一個(gè)地址。若標(biāo)志sf與of不相等,把操作數(shù)(偏移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 01111100 | -

35、disp- | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * jle/jng:小于、等于或不大于轉(zhuǎn) 功能:測(cè)試一個(gè)帶符號(hào)的數(shù)據(jù)后,將控制權(quán)轉(zhuǎn)移到另一個(gè)地址。若標(biāo)志zf=1或標(biāo)志sf與of不相等,把操作數(shù)(偏移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 01111110 | -disp- | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * jmp:無(wú)條件轉(zhuǎn) 功能:無(wú)條件跳轉(zhuǎn)到指定地址。jmp用目標(biāo)位置的偏移地址取代ip的內(nèi)容。段內(nèi)及段間跳轉(zhuǎn)控制一共有五種用法。段間跳轉(zhuǎn)時(shí)cs也要改變成新的段地址。 標(biāo)志位:無(wú)影響。 機(jī)器

36、碼:(5種格式) 第第1818章章 8086/80888086/8088指令集參考指令集參考 direct within segment:|11101001|disp - low | disphigh | direct within seg short:|11101011|-disp-| indirect within segment:|11111111| mod 100 r/m | indirect intersegment: | 11111111| mod 101 r/m | direct intersegment:|11101010|offset - low | offset-high|

37、 seg-low| seg-high|第第1818章章 8086/80888086/8088指令集參考指令集參考 * jnc:若無(wú)進(jìn)位轉(zhuǎn)(c=0) 功能:見(jiàn)jae/jnb(具有相同的作用)。 * jne/jnz:若不相等或不等于0轉(zhuǎn) 功能:測(cè)試一個(gè)有符號(hào)或無(wú)符號(hào)的數(shù)據(jù)后,將控制權(quán)轉(zhuǎn)移到另一個(gè)地址。若標(biāo)志zf=0,則把操作數(shù)(偏移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 01110101 | -disp- | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * jno:若無(wú)溢出轉(zhuǎn)(of=0) 功能:若未發(fā)生溢出則跳轉(zhuǎn)到指定地址。若of=0,則把操作數(shù)(偏

38、移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 01110001 | -disp- | * jnp/jpo:若奇校驗(yàn)轉(zhuǎn)(pf=0) 功能:若奇偶校驗(yàn)后pf0,跳到指定地址。pf0是奇校驗(yàn),指運(yùn)算結(jié)果的低8位含有1的個(gè)數(shù)為奇數(shù),把操作數(shù)(偏移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。請(qǐng)參閱jp/jpe。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 01111011 | -disp- | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * jns:若為正數(shù)轉(zhuǎn)(sf=0) 功能:若符號(hào)位被設(shè)成“0”(正值),跳到指定地址。sf=0,把操作數(shù)(偏移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。請(qǐng)參閱js。 標(biāo)志位:無(wú)

39、影響。 機(jī)器碼:| 01111001 | -disp- | * jo:若溢出轉(zhuǎn)(of=1) 功能:若發(fā)生溢出,跳到指定地址。of=1,把操作數(shù)(偏移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。請(qǐng)參閱jno。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 01110000 | -disp- | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * jp/jpe:若偶校驗(yàn)轉(zhuǎn)(pf=1) 功能:若產(chǎn)生偶校驗(yàn),跳到指定地址。偶校驗(yàn)是指運(yùn)算后的低8位含有1的個(gè)數(shù)為偶數(shù),pf=1(偶校驗(yàn)),把操作數(shù)(偏移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。請(qǐng)參閱jnp/jpo。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 01111010 | -disp-

40、 | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * js:若為頁(yè)數(shù)轉(zhuǎn)(sf=1) 功能:若符號(hào)位被設(shè)成“1”(負(fù)值),跳到指定地址。sf=1,把操作數(shù)(偏移地址)加給ip實(shí)現(xiàn)跳轉(zhuǎn)。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 01111000 | -disp- | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * lahf:標(biāo)志寄存器的低8位裝入ah 功能:把標(biāo)志寄存器的低8位裝入ah。這個(gè)指令與8080兼容。請(qǐng)參閱sahf,lahf(無(wú)操作數(shù))。標(biāo)志寄存器的低8位如下: s z * a * p * c (*表示沒(méi)用到的位) 標(biāo)志位:無(wú)影響。

41、機(jī)器碼:10011111 第第1818章章 8086/80888086/8088指令集參考指令集參考 * lds:地址傳送(ds) 功能:lds把保存在內(nèi)存中的偏移地址及段地址(4個(gè)字節(jié))裝入目標(biāo)寄存器組。段地址放在ds而偏移地址可放入任何一個(gè)通用或索引寄存器,下面的例子是把偏移地址裝入di,而把接下來(lái)的兩個(gè)字節(jié)的高地址的內(nèi)容送到ds: lds di,memory-addr 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 11000101 | mod reg/m | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * les:地址傳送(es)功能:請(qǐng)參閱lds,更換的是es而不是ds

42、。標(biāo)志位:無(wú)影響。機(jī)器碼:| 11000100 | mod reg/m | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * lods/lodsb/lodsw:重復(fù)裝入字符串 功能:把內(nèi)存單元中的一個(gè)字節(jié)裝入al或把一個(gè)字裝入ax,雖然lods是字符串型運(yùn)算,卻不適合用指令前綴rep。ds:si寄存器組指向一個(gè)字節(jié)(若用lodsb)或一個(gè)字(若用lodsw),并把它從內(nèi)存單元裝入al或ax。若標(biāo)志df為0,則此指令把si加1(若是字節(jié))或加2(若是字),否則就減1或減2。 標(biāo)志位:無(wú)影響。 機(jī)器碼:1010110w(無(wú)操作數(shù)) 第第1818章章 8086/8088

43、8086/8088指令集參考指令集參考 * loop:無(wú)條件循環(huán) 功能:控制一段程序按指定的次數(shù)執(zhí)行。開(kāi)始執(zhí)行循環(huán)前就把次數(shù)放在cx內(nèi),loop指令一般放在循環(huán)體的底部;先把cx-1,若cx0,把操作數(shù)(偏移地址)加給ip,實(shí)現(xiàn)循環(huán);否則執(zhí)行l(wèi)oop下一條指令,即退出循環(huán)。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 11100010 | -disp- |第第1818章章 8086/80888086/8088指令集參考指令集參考 * loope/loopz:條件循環(huán)(cx0或zf1) 功能:控制一段程序按指定的次數(shù)執(zhí)行或直到zf標(biāo)志被清0為止。loope/loopz和loop相似,先把cx-1;不同之處在于

44、若cx0或者zf0則退出循環(huán),否則繼續(xù)循環(huán),即把操作數(shù)(偏移地址)加給ip。請(qǐng)參閱loopne/loopnz。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 11100001 | -disp- |第第1818章章 8086/80888086/8088指令集參考指令集參考 * loopne/loopnz :條件循環(huán)(cx0或zf0) 功 能:控制一段程序按指定的次數(shù)執(zhí)行或直到zf標(biāo)志被置成1為止。loopne/loopnz和loop相似,先把cx-1,若cx=0或者zf=1退出循環(huán),否則繼續(xù)循環(huán),即把操作數(shù)(偏移地址)加給ip,實(shí)現(xiàn)循環(huán)。請(qǐng)參閱loope/loopz。 標(biāo)志位:無(wú)影響。 機(jī)器碼:| 111000

45、00 | -disp- |第第1818章章 8086/80888086/8088指令集參考指令集參考 * mov:傳送數(shù)據(jù) 功能:在兩個(gè)寄存器之間或寄存器與內(nèi)存單元之間傳送一個(gè)字節(jié)或字的數(shù)據(jù)或把立即數(shù)傳送給寄存器或內(nèi)存段單元。mov不能在兩個(gè)內(nèi)存單元之間傳送數(shù)據(jù),請(qǐng)參閱movs。根據(jù)操作數(shù)不同,有7種mov指令。 標(biāo)志位:無(wú)影響。 機(jī)器碼:(7種格式)第第1818章章 8086/80888086/8088指令集參考指令集參考 reg/mem to/from reg:|100010dw|mod reg r/m| immed to reg/mem:|1100011w|mod 000 r/m|-da

46、ta-|data if w=1| immed to register:|1011w reg|-data-|data if w=1| mem to accumulator:|1010000w|addr-low|addr-high| accumulator to mem:|1010001w|addr-low|addr-high| reg/mem to seg reg:|10001110|mod 0sg r/m| (sg=seg reg) seg reg to reg/mem:|10001100|mod 0sg r/m| (sg=seg reg) 第第1818章章 8086/80888086/808

47、8指令集參考指令集參考 * movs/movsb/movsw:字符串傳送 功能:在內(nèi)存區(qū)域之間傳送數(shù)據(jù),通常配合指令前綴rep,movsb可以在兩個(gè)內(nèi)存區(qū)域傳送任意多個(gè)字節(jié),而movsw可以傳送任意多個(gè)字。es:di確定第一個(gè)(目的)操作數(shù)的地址,而ds:si確定第二個(gè)(源)操作數(shù)地址。若df標(biāo)志為0,di及si遞增;若df為1,則di及si遞減。 標(biāo)志位:無(wú)影響。 機(jī)器碼:1010010w(無(wú)操作數(shù))第第1818章章 8086/80888086/8088指令集參考指令集參考 * mul:無(wú)符號(hào)乘法 功能:無(wú)符號(hào)的被乘數(shù)(8或16位)與乘數(shù)(8或16位)相乘。mul把最高位看成數(shù)據(jù)而不是符號(hào)。

48、8位相乘時(shí),被乘數(shù)放在al內(nèi),乘數(shù)放在寄存器或內(nèi)存單元中,例如mul cl,積放在ax內(nèi)。16位的乘法時(shí),被乘數(shù)放在ax,乘數(shù)放在寄存器或內(nèi)存單元中,例如mul bx,積放在dxax。 標(biāo)志位:影響cf及of(af、pf、sf及zf不確定)。 機(jī)器碼:| 1111011w | mod 100 r/m |第第1818章章 8086/80888086/8088指令集參考指令集參考 * neg:正負(fù)變換 功能:改變二進(jìn)制值的正負(fù),即由正變負(fù)或由負(fù)變正。neg的操作是用0減去操作數(shù),即操作數(shù)包括符號(hào)位,全部取反(1變0或0變1)后加1。例如,01h(+1)經(jīng)neg后變?yōu)?ffh(-1)。操作數(shù)可為寄存

49、器或內(nèi)存單元的一個(gè)字節(jié)或字。請(qǐng)參閱not。 標(biāo)志位:影響af、cf、of、pf、sf及zf。 機(jī)器碼:| 1111011w | mod 011 r/m |第第1818章章 8086/80888086/8088指令集參考指令集參考 * nop:空操作 功能:當(dāng)你要?jiǎng)h除或插入機(jī)器碼,又希望其他指令地址不發(fā)生變動(dòng),或想延長(zhǎng)執(zhí)行時(shí)間時(shí),可用此命令替代。nop執(zhí)行的是xchg ax,ax,不改變?nèi)魏螙|西,只是ip增值。 標(biāo)志位:無(wú)影響。 機(jī)器碼:10010000(無(wú)操作數(shù))第第1818章章 8086/80888086/8088指令集參考指令集參考 * not:邏輯非 功能:把0變成1或1變成0。操作數(shù)是

50、寄存器或內(nèi)存單元的一個(gè)字節(jié)或字。請(qǐng)參閱neg。 標(biāo)志位:無(wú)影響。 機(jī)器碼:|1111011w|mod 010 r/m| * or:邏輯或 功能:對(duì)兩個(gè)操作數(shù)的每個(gè)位作邏輯or。兩個(gè)操作數(shù)必須是寄存器或內(nèi)存單元的字節(jié)或字,第二個(gè)操作數(shù)可以是立即數(shù)。or把兩個(gè)操作數(shù)的每一個(gè)位逐一比較。若相對(duì)應(yīng)的兩個(gè)位有任何一個(gè)是1,則第一個(gè)操作數(shù)的該位變成1,否則就不改變。請(qǐng)參閱and及xor。第第1818章章 8086/80888086/8088指令集參考指令集參考 標(biāo)志位:影響cf、of、pf、sf及zf(af不確定)。 機(jī)器碼:(3種格式) reg/mem with reg:|000010dw|mod re

51、g r/m| immed to accum r:|0000110w|-data-|data if w=1| immed to reg/mem:|1000000w|mod 001 r/m|-data-|data if w=1|第第1818章章 8086/80888086/8088指令集參考指令集參考 * out:輸出 功能:從al送出一個(gè)字節(jié)或從ax送出一個(gè)字至輸出端口??砂演敵龆丝趯?xiě)成直接地址(例如out port #,ax)或dx內(nèi)為一個(gè)端口地址(例如out dx,ax)。8086、80286及80386提供outs(輸出字串)指令。請(qǐng)參閱in。 標(biāo)志位:無(wú)影響。 機(jī)器碼:(2種格式) va

52、riable port:|1110111w| fixed port:|1110011w|-port-|第第1818章章 8086/80888086/8088指令集參考指令集參考 * pop:堆棧彈出 功能:把一個(gè)字(先前被壓入堆棧者)彈出到指定的目的地。sp寄存器指向當(dāng)前棧頂?shù)淖?。pop把此字彈出給指定的目的地并使sp+2。根據(jù)目的地是寄存器、段寄存器或內(nèi)存單元的不同,而有3種pop指令。請(qǐng)參閱push。 標(biāo)志位:無(wú)影響。 機(jī)器碼:(3種格式) register:|01011 reg| segment reg:|000sg111|(sg implies segment reg) reg/mem

53、ory:|1000111 /m|mod 000 r/m| 第第1818章章 8086/80888086/8088指令集參考指令集參考 * popa:堆棧彈出給所有寄存器 (8088、8086、80286) 功能:依次將堆棧內(nèi)容彈出給di、si、bp、sp、bx、dx、cx、ax寄存器,并將sp加16,通常在此之前已用pusha將這些寄存器壓入堆棧中。sp值其實(shí)已被丟掉而沒(méi)壓入。 標(biāo)志位:無(wú)影響。 機(jī)器碼:01100001(無(wú)操作數(shù))第第1818章章 8086/80888086/8088指令集參考指令集參考 * popf:堆棧彈出給標(biāo)志寄存器 功能:將堆棧(先前被壓入堆棧者)彈出給標(biāo)志寄存器。請(qǐng)

54、參閱pushf及pop。sp寄存器指向當(dāng)前棧頂?shù)淖?,popf把該字彈出給標(biāo)志寄存器,并把sp加2。該字通常是用pushf壓入堆棧的標(biāo)志寄存器內(nèi)容,而popf把這些標(biāo)志位還原。popf不帶操作數(shù)。 標(biāo)志位:影響全部。 機(jī)器碼:10011101(無(wú)操作數(shù))第第1818章章 8086/80888086/8088指令集參考指令集參考 * push:壓入堆棧 功能:把一個(gè)字的值(地址或數(shù)據(jù)項(xiàng))保存于堆棧以便將來(lái)使用。sp寄存器指向當(dāng)前棧頂?shù)淖?,push將sp減2并從指定操作數(shù)把一個(gè)字壓入新的棧頂。根據(jù)操作數(shù)是寄存器、段寄存器或內(nèi)存字單元的不同,而有3種push指令。請(qǐng)參閱pop及pushf。 標(biāo)志位:無(wú)

55、影響。第第1818章章 8086/80888086/8088指令集參考指令集參考 機(jī)器碼:(3種格式) register:| 01010 reg| segment reg:| 000sg 110 | reg/memory:| 11111111 | mod 110 r/m | 第第1818章章 8086/80888086/8088指令集參考指令集參考 * pusha:所有寄存器壓入堆棧(8088、8086、80286) 功能:把a(bǔ)x、cx、dx、bx、sp、bp、si、di依次壓入堆棧中并把sp減16,通常稍后popa將這些寄存器內(nèi)容彈出堆棧。 標(biāo)志位:無(wú)影響。 機(jī)器碼:01100000(無(wú)操作

56、數(shù))第第1818章章 8086/80888086/8088指令集參考指令集參考 * pushf:標(biāo)志寄存器壓入堆棧 功能:把標(biāo)志寄存器的內(nèi)容保存于堆棧以供將來(lái)使用。sp寄存器指向當(dāng)前棧頂?shù)淖郑琾ushf把sp減2,再把標(biāo)志寄存器壓入新的棧頂。請(qǐng)參閱popf及push。 標(biāo)志位:無(wú)影響。 機(jī)器碼:10011100(無(wú)操作數(shù))第第1818章章 8086/80888086/8088指令集參考指令集參考 * rcl與rcr:帶進(jìn)位循環(huán)左移與右移 功能:經(jīng)由cf標(biāo)志向左或向右循環(huán)移動(dòng)。這個(gè)指令的操作對(duì)象可以是寄存器或內(nèi)存單元的一個(gè)字節(jié)或字。若只移動(dòng)1位,則可把操作數(shù)指定為1;若超過(guò)1位則需要把循環(huán)移動(dòng)的

57、位數(shù)放在cl寄存器中。rcl循環(huán)左移,最左邊(最高)的位進(jìn)入cf標(biāo)志而cf位進(jìn)入第0位,其余各位依序向左移。rcr循環(huán)右移,第0位進(jìn)入cf標(biāo)志位而cf位進(jìn)入最左邊(最高)位,其余各位依序向右移。第第1818章章 8086/80888086/8088指令集參考指令集參考 標(biāo)志位:影響cf及of。 機(jī)器碼: rcl:| 110100cw | mod 010 r/m | (if c=0 shift is 1;) rcr:| 110100cw | mod 011 r/m | (if c=1 shift is in cl)第第1818章章 8086/80888086/8088指令集參考指令集參考 * r

58、ep/repe/repz/repne/repnz:重復(fù)字符串指令前綴 功能:按照指定次數(shù)重復(fù)字符串操作。這些前綴寫(xiě)在字符串指令cmps、movs、scas及stos前面。執(zhí)行之前要先把次數(shù)放入cx,每執(zhí)行字符串指令一次就把cx減1。使用rep時(shí),字符串指令操作重復(fù)到cx=0為止。使用repe/repz時(shí),操作重復(fù)到cx=0或zf=0為止。使用repne/repnz時(shí),操作重復(fù)到cx=0或zf=1為止。第第1818章章 8086/80888086/8088指令集參考指令集參考 標(biāo)志位:參閱相關(guān)字符串指令。機(jī)器碼: rep/repne:11110010 repe:11110011第第1818章章

59、8086/80888086/8088指令集參考指令集參考 * ret:子程序返回 功能:從稍前被call調(diào)用的子程序中返回。call可調(diào)用near或far類(lèi)型的子程序。當(dāng)是near的類(lèi)型時(shí),ret把棧頂?shù)淖謴棾鼋oip,再把sp加2;當(dāng)是far的類(lèi)型時(shí)(即段間調(diào)用的返回),ret先把當(dāng)前棧頂?shù)淖謴棾鼋oip,然后sp加2,再把棧頂彈出給cs,sp加2。若ret包含數(shù)值操作數(shù)(例如,ret 4),彈出時(shí)這個(gè)值同時(shí)加給sp。第第1818章章 8086/80888086/8088指令集參考指令集參考 標(biāo)志位:無(wú)影響。 機(jī)器碼:(4種格式) within a segment:| 11000011 | wi

60、thin a segment with pop-value:| 11000010 | data-low | data-high | intersegment:| 11001011 | intersegment with pop-value:| 11001010 | data-low | data-high |第第1818章章 8086/80888086/8088指令集參考指令集參考 * rol與ror:不帶進(jìn)位的循環(huán)左移與右移 功能:向左或向右循環(huán)移動(dòng)。此指令的操作對(duì)象可以是寄存器或內(nèi)存單元的一個(gè)字節(jié)或字,并且可以向左或向右循環(huán)移動(dòng)。若只移動(dòng)1位,則可把操作數(shù)指定為1,若超過(guò)1位,循環(huán)移位就要

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論