版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第3章 尋址方式與指令系統(tǒng)教學(xué)內(nèi)容 3.1 數(shù)據(jù)類型及其存儲(chǔ)規(guī)則 3.1.1 基本數(shù)據(jù)類型及其存儲(chǔ) 3.1.2 數(shù)字?jǐn)?shù)據(jù)類型 3.1.3 指針數(shù)據(jù)類型 3.1.4 字符串、位及位串?dāng)?shù)據(jù)類型 3.2 計(jì)算機(jī)指令格式 3.2.1 指令的助記符格式 3.2.2 80 x86指令編碼格式 3.3 8086CPU尋址方式 3.3.1 操作數(shù)的尋址方式 3.3.2 指令地址的尋址方式 3.4 8086指令系統(tǒng) 3.4.1數(shù)據(jù)傳送類指令 3.4.2 算術(shù)運(yùn)算類指令 3.4.3 邏輯運(yùn)算和移位指令 3.4.4 串操作指令 3.4.5 控制轉(zhuǎn)移類指令 3.4.6 處理器控制類指令教學(xué)目標(biāo) 1掌握數(shù)據(jù)在8086存
2、儲(chǔ)器中的存放方式。 2掌握8086的尋址方式。 3掌握8086常用基本指令。 4理解8086所有指令。重點(diǎn)內(nèi)容 1 數(shù)據(jù)類型及存儲(chǔ)規(guī)則。 2 指令的助記符格式。 3 8086的尋址方式。 4 8086指令系統(tǒng)。難點(diǎn)內(nèi)容 1 8086的尋址方式。 2 8086指令系統(tǒng)。學(xué)時(shí)數(shù) 8學(xué)時(shí)3.1 3.1 數(shù)據(jù)類型及其存儲(chǔ)規(guī)則數(shù)據(jù)類型及其存儲(chǔ)規(guī)則 3.1.13.1.1基本數(shù)據(jù)類型及存儲(chǔ)規(guī)則基本數(shù)據(jù)類型及存儲(chǔ)規(guī)則 基本數(shù)據(jù)類型:字節(jié)、字、雙字、四字、雙四字字節(jié)基本存儲(chǔ)單元,占用內(nèi)存的一個(gè)地址。字兩個(gè)相鄰字節(jié)組成的16位二進(jìn)制;雙字4個(gè)相鄰字節(jié)組成的32位二進(jìn)制數(shù);四字8個(gè)相鄰字節(jié)組成的64位二進(jìn)制數(shù); 雙
3、四字16個(gè)相鄰字節(jié)組成的128位二進(jìn)制數(shù)。 基本規(guī)則:低字節(jié)在前高字節(jié)在后。 單字節(jié)數(shù)為9CH、一個(gè)字的數(shù)為489CH、雙字?jǐn)?shù)為6A2B489CH、四字?jǐn)?shù)為23C31A7A6A2B489CH、雙四字?jǐn)?shù)為4512A2AB3A8B927223C31A7A6A2B489CH。 注意: 1 圖中小地址在下面。 2 為了使CPU能夠高效地址讀、寫,應(yīng)從偶地址開始存放。3.1.2 3.1.2 數(shù)字?jǐn)?shù)據(jù)類型數(shù)字?jǐn)?shù)據(jù)類型 數(shù)據(jù)類型包含:無符號(hào)整數(shù)、帶符號(hào)整數(shù)和浮點(diǎn)數(shù)。 1無符號(hào)整數(shù)(范圍: n為位數(shù)) 例如8位字長則范圍為0+255。120n 2帶符號(hào)整數(shù)(范圍: ) 帶符號(hào)整數(shù)是用2的補(bǔ)碼表示的二進(jìn)制值。規(guī)
4、定操作數(shù)的最高位為符號(hào)位。例如8位字長則范圍為-128+127。1221n1n 3浮點(diǎn)數(shù) 浮點(diǎn)數(shù)據(jù)類型可分為三種:單精度浮點(diǎn)、雙精度浮點(diǎn)和雙擴(kuò)展的精度浮點(diǎn)。 3.1.33.1.3指針數(shù)據(jù)類型指針數(shù)據(jù)類型 在實(shí)方式下有兩種類型的指針:近指針(near)為一16位的段內(nèi)偏移量,遠(yuǎn)指針(far)為一32位的邏輯地址(包括段地址和偏移量)。 在虛擬方式下也有兩種類型的指針:近指針(near)為一32位的段內(nèi)偏移量,遠(yuǎn)指針(far)為一48位的邏輯地址(包括段地址和偏移量)。圖33 指針數(shù)據(jù)類型3.1.43.1.4字符串、位及位串?dāng)?shù)據(jù)類型字符串、位及位串?dāng)?shù)據(jù)類型 字符串包括字節(jié)串、字串和雙字串。它們分別
5、是字節(jié)、字和雙字的相鄰序列。 位及位串?dāng)?shù)據(jù)類型不介紹。3.2 3.2 計(jì)算機(jī)指令格式計(jì)算機(jī)指令格式 指令包括兩部分:指令操作碼部分和地址碼部分。 指令操作碼部分是給出該指令應(yīng)完成何種操作。 地址碼部分是用來描述該指令的操作對象。 指令格式可分為:零地址指令、一地址指令、二地址指令和三地址指令。 零地址指令:只有操作碼部分,而沒有操作數(shù)的指令; 一地址指令:只有目的操作數(shù)的單操作數(shù)指令; 二地址指令:有兩個(gè)地址指出兩個(gè)操作數(shù)的地址; 三地址指令:優(yōu)點(diǎn):操作結(jié)束后,原兩個(gè)操作數(shù)的內(nèi)容均未被破壞;缺點(diǎn):增加一個(gè)地址后,使得指令碼加長,增加了存儲(chǔ)空間,取指時(shí)間變長。 MOV MOV AXAX, BXB
6、X操作碼的助記符目的操作數(shù)源操作數(shù)操作碼的助記符目的操作數(shù)源操作數(shù)3.2.1 3.2.1 指令的助記符格式指令的助記符格式 助記符格式可用以下通式表示: L:op D1, D2, D3其中: L是標(biāo)號(hào),在標(biāo)識(shí)符后面跟有冒號(hào)(:); op是助記符,具有相同功能的指令操作碼的保留名; D1、D2、D3是任選的操作數(shù)參數(shù),可以有零至三個(gè)。例如:3.2.2 80 x863.2.2 80 x86指令編碼格式指令編碼格式 指令編碼格式包含操作碼和操作數(shù)兩部分。 操作碼表示計(jì)算機(jī)執(zhí)行什么操作。 操作數(shù)指明參與操作的數(shù)的本身,或規(guī)定了操作數(shù)的地址。 1)操作碼字節(jié)。它是指令的第一字節(jié),規(guī)定指令的操作類型,是指
7、令的必選字節(jié),字節(jié)內(nèi)容如下: D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0OP D WOP D W OP:表示指令操作碼,D:表示指令中數(shù)據(jù)傳送的方向。D=0為REG指定的源操作數(shù), D=1為REG指定的目的操作數(shù)。W:表示操作數(shù)類型。W=0為字節(jié),W=1為字。 2)尋址方式字節(jié)。它是指令的第二字節(jié),規(guī)定操作數(shù)的尋址方式。是指令的可選字節(jié),字節(jié)內(nèi)容如下: D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0MODMODREGREGR/MR/M MOD:表示方式域,D7、D6位能表示4種不同的方式。REG:表
8、示寄存器域,D5、D4、D3位能表示8種不同的寄存器。R/M:表示寄存器存儲(chǔ)器域,D2、D1、D0位能表示8種不同的寄存器存儲(chǔ)器。 單操作數(shù)指令中使用R/M規(guī)定存儲(chǔ)器操作數(shù)或寄存器操作數(shù);雙操作數(shù)指令中使用REG規(guī)定寄存器操作數(shù),使用R/M規(guī)定存儲(chǔ)器操作數(shù),D=0為REG指定的源操作數(shù), D=1為REG指定的目的操作數(shù)。 單操作數(shù)指令中使用R/M規(guī)定存儲(chǔ)器操作數(shù)或寄存器操作數(shù);雙操作數(shù)指令中使用REG規(guī)定寄存器操作數(shù),使用R/M規(guī)定存儲(chǔ)器操作數(shù),D=0為REG指定的源操作數(shù), D=1為REG指定的目的操作數(shù)。 3 偏移量字節(jié)。是指令的第三、四字節(jié),是指令的可選字節(jié), 給出了存儲(chǔ)器操作數(shù)的偏移量
9、。8位偏移量僅有第三字節(jié),16位偏移量有第三、四字節(jié)。 4 立即數(shù)字節(jié)。是指令的可選字節(jié),給出了指令的立即數(shù)。8位立即數(shù)僅有第三字節(jié),16位立即數(shù)有第三、四字節(jié)。3.3 8086CPU的尋址方式 尋址方式尋找指令或操作數(shù)存放地址的方法。 兩種尋址方式:一種是用來對操作數(shù)進(jìn)行尋址;另一種是用來對轉(zhuǎn)移地址或調(diào)用地址進(jìn)行尋址,即對指令地址進(jìn)行尋址。3.3.1 3.3.1 操作數(shù)的尋址方式操作數(shù)的尋址方式 指令的操作數(shù)存放位置有4種: 1、立即尋址立即數(shù)尋址特點(diǎn):指令執(zhí)行速度快。 立即數(shù)只能是整數(shù),且只能作為源操作數(shù)。 2、寄存器尋址方式 寄存器尋址方式的優(yōu)點(diǎn):不但可以減少指令碼的長度,而且由于操作數(shù)
10、已存于寄存器中,執(zhí)行速度較快。 寄存器既能作為源操作數(shù),又能作為目的操作數(shù)。 例如: MOV AX,CX 該指令將CX(源操作數(shù))的內(nèi)容傳送到AX寄存器(目的操作數(shù))中,其中源操作數(shù)CX,目的操作數(shù)AX都是寄存器尋址方式。 3、存儲(chǔ)器尋址 指令給出了操作數(shù)在數(shù)據(jù)區(qū)中的地址信息。 五種不同的存儲(chǔ)器尋址方式: 1)直接尋址方式 例如: MOV AX,7834H 該指令將有效地址EA=8064H單元中的內(nèi)容傳送到AX寄存器中。若(DS)=2000H,則該指令源操作數(shù)的存儲(chǔ)單元的物理地址為20000H7834H=27834H。 2)寄存器間接尋址操作數(shù)存放在存儲(chǔ)單元中。注意兩點(diǎn):一是寄存器中的內(nèi)容是操
11、作數(shù)的有效地址,而不是操作數(shù)本身;二是只能用CPU中的基址寄存器BX、BP或變址寄存器DI、SI來間接尋址。 如果指令前面沒有用前綴指令指明操作數(shù)在哪一段,則通常默認(rèn)段寄存器為DS。即: 或: DISIBXH10DSEAH10DS物理地址BPH10SS物理地址 例如: MOV AX,BX 3)寄存器相對尋址 操作數(shù)存放在存儲(chǔ)單元中 或: 注意:BX、SI和DI使用DS段,BP使用SS段。 disp16disp8DISIBXH10DSEAH10DS位位物理地址disp16disp8BPH10SS位位物理地址 例如: MOV BX,BX+6824H 基址尋址用BX、BP為基址寄存器進(jìn)行尋址 變址尋
12、址用SI、DI為變址寄存器進(jìn)行尋址 4)基址加變址尋址方式 操作數(shù)存放在存儲(chǔ)單元中 或: )DI()SI(BXH10DSEAH10DS物理地址)DI()SI(BPH10SSEAH10DS物理地址 例如: MOV AX,BX+SI 5)相對的基址和變址尋址方式 操作數(shù)存放在存儲(chǔ)單元中 或: 以上為8086存儲(chǔ)器尋址的完整格式,其他尋址方式都可以視為此方式的子集,存儲(chǔ)器的地址由基址、變址、相對地址三項(xiàng)組成,可以只有其中的1項(xiàng)、2項(xiàng),但要注意SI和DI不能同時(shí)出現(xiàn),BX和BP不能同時(shí)出現(xiàn)。凡有BP出現(xiàn)就使用SS段,無BP出現(xiàn)則使用DS(ES)段。disp16disp8)DI()SI(BXH10DSE
13、AH10DS位位物理地址disp16disp8)DI()SI(BPH10SS位位物理地址 例如:MOV AH,BXSI2468H 注意:BP和BX不可合用! 4、 IO端口尋址 操作數(shù)在IO端口中。 兩種編址方式:與存儲(chǔ)器統(tǒng)一編址方式、獨(dú)立的IO空間編址方式與存儲(chǔ)器統(tǒng)一編址方式,上述五種存儲(chǔ)器尋址方式均可采用。獨(dú)立的IO空間編址方式則對IO端口有兩種尋址方式: l)直接端口尋址方式:端口地址的尋址范圍是00FFH,端口地址直接由指令給出。 2) 間接端口尋址方式:端口地址的尋址范圍是00FFFFH,端口地址由DX寄存器給出。 注意:IO端口尋址尋址只使用20位地址線中的低16位,即A0A15。
14、3.3.2 3.3.2 指令地址的尋址方式指令地址的尋址方式 指令地址的尋址方式以下4種: 1 段內(nèi)直接尋址方式 轉(zhuǎn)移的指令地址是由當(dāng)前的IP內(nèi)容和指令中規(guī)定的8位或16位偏移量之和給出。 2 段內(nèi)間接尋址方式 轉(zhuǎn)移的指令地址是由寄存器或一個(gè)字存儲(chǔ)單元的內(nèi)容給出。 3 段間直接尋址方式 轉(zhuǎn)移的指令地址是由指令碼字節(jié)直接給出。 4 段間間接尋址方式 轉(zhuǎn)移的指令地址由一個(gè)雙字存儲(chǔ)單元的內(nèi)容給出。 3.4 80863.4 8086指令系統(tǒng)指令系統(tǒng) 指令系統(tǒng)按功能可分為6類: 數(shù)據(jù)傳送類指令; 算術(shù)運(yùn)算類指令; 邏輯運(yùn)算與移位類指令; 字符串指令; 控制轉(zhuǎn)移類指令; 處理器控制類指令。3.4.1 3.
15、4.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 分為4種: 通用數(shù)據(jù)傳送指令 累加器專用傳送指令 地址傳送指令 標(biāo)志傳送指令。 1通用數(shù)據(jù)傳送指令 (1)最基本的傳送指令 格式: MOV 目的操作數(shù),源操作數(shù) 舉例: MOV BL, AL MOV DS,AX MOV DL,DI MOV BX,AX MOV DX,1000 MOV BH,120 MOV DX,1234H MOV WORD PTRSI, 1234H MOV WORD PTR BP, 2345H 注意:AX可以拆分成兩個(gè)8位寄存器AH和AL使用。同樣,BX、CX、DX也可以進(jìn)行拆分。 注意點(diǎn): 1)通用傳送指令的源操作數(shù)和目的操作數(shù)的位數(shù)必須
16、一致。指令可以傳送8位數(shù)據(jù),也可傳送16位數(shù)據(jù)。舉例是8位數(shù)據(jù)傳送,舉例是16位數(shù)據(jù)傳送。 2)立即數(shù)和寄存器CS和IP不能作為目的操作數(shù)。 3)源操作數(shù)和目的操作數(shù)不能同時(shí)為內(nèi)存單元。立即數(shù)只能作為源操作數(shù)。 4)用BX、SI、DI來間接尋址時(shí),默認(rèn)的段寄存器為DS,而用BP來間接尋址時(shí),默認(rèn)的段寄存器為SS。 5)所有的通用傳送指令都不改變標(biāo)志。 6)在SS和SP的連續(xù)兩條指令之間不要插入其他指令。 7)如果指令中兩個(gè)操作數(shù)都不能明確地指明長度,可用WORD或BYTE PTR指定為字或字節(jié)。 (2)堆棧操作指令 堆棧是一種數(shù)據(jù)結(jié)構(gòu),是在內(nèi)存中開辟了一個(gè)比較特殊的存儲(chǔ)區(qū),這個(gè)區(qū)域中數(shù)據(jù)的存取
17、采用“后進(jìn)先出”的原則。 堆棧段-8086CPU在存儲(chǔ)器分段管理時(shí),劃分了一個(gè)專門的堆棧區(qū)。 格式: PUSH 源操作數(shù) POP 目的操作數(shù) 舉例: PUSH BX PUSH ES PUSH DS PUSH SI POP AX POP BX POP DI 注意點(diǎn): 1)8086CPU的堆棧操作總是按字進(jìn)行的。即:PUSH AH、POP BL這樣的字節(jié)操作是錯(cuò)誤的。 2)執(zhí)行PUSH指令時(shí),堆棧地址指針SP減2,源操作數(shù)的低位字節(jié)放在SP所指單元中,高位字節(jié)放在SP+1單元所指單元中。執(zhí)行POP指令時(shí),正好相反,每彈出1個(gè)字,棧頂指針SP的值加2。 3)源操作數(shù)和目的操作數(shù)可以是寄存器(舉例、)
18、、存儲(chǔ)器(、)。CS寄存器可以作為源操作數(shù),如,但反過來,不能作為目的操作數(shù),即:POP CS是錯(cuò)誤的。 4)堆棧中的內(nèi)容是按后進(jìn)先出的原則進(jìn)行傳送的。因此,保存寄存器和恢復(fù)寄存器的內(nèi)容時(shí),要按照對稱的次序執(zhí)行一系列壓入指令和彈出指令。 如果一個(gè)子程序的開始這樣保存寄存器的值,則子程序返回前,應(yīng)按如下次序恢復(fù)寄存器的值。PUSH AX POP DXPUSH BXPOP CXPUSH CXPOP BXPUSH DXPOP AX (3)交換指令 實(shí)現(xiàn)兩個(gè)操作數(shù)之間進(jìn)行直接交換,方便程序的編寫。 格式: XCHG 目的操作數(shù),源操作數(shù) 舉例: XCHG AH,BL XCHG DX,BX XCHG 5
19、05H,AX 注意點(diǎn): 1)操作數(shù)1和操作數(shù)不能均為內(nèi)存單元。即:XCHG 1234,BX是錯(cuò)誤的。 2)CS寄存器和IP寄存器不能作為交換指令的操作數(shù)。即XCHG BX,CS是錯(cuò)誤的。 3)操作數(shù)1與操作數(shù)2都不能為立即數(shù)。即:XCHG BX,1234H是錯(cuò)誤的。 2累加器專用傳送指令 累加器是8086CPU進(jìn)行數(shù)據(jù)傳輸?shù)暮诵?。有兩類指令?輸入輸出指令 換碼指令 1)輸入輸出指令工業(yè)控制中常用的指令 格式: IN AC,源操作數(shù) OUT 目的操作數(shù),AC 舉例: IN AL,50H IN AX,70H OUT 44H,AL OUT 80H,AX 注意點(diǎn): 1)累加器可以是8位AL,也可以是
20、16位AX,但只能用累加器作為執(zhí)行輸入/輸出過程的寄存器,不能用其他寄存器代替。即:IN BL,50H是錯(cuò)誤的。 2)用直接端口尋址的輸入/輸出指令時(shí),尋址范圍為0255,即16進(jìn)制數(shù)FFH是直接端口尋址輸入/輸出指令中允許使用的最大端口號(hào)。即:OUT 144H,AL是錯(cuò)誤的。 3)通過DX寄存器間接尋址的輸入/輸出指令時(shí),尋址范圍為065535,即16進(jìn)制數(shù)FFFFH是間接端口尋址輸入/輸出指令中允許使用的最大端口號(hào)。但不能用其他寄存器代替DX,且不能加“”。OUT BX,AL和IN AX,DX是錯(cuò)誤的。 4)當(dāng)I/O端口與內(nèi)存統(tǒng)一編址時(shí),不能用輸入/輸出指令,可采用訪問存儲(chǔ)器的指令來訪問I
21、/O端口。 2)換碼指令 該指令用來將一個(gè)代碼值轉(zhuǎn)換成相應(yīng)的另一種代碼值, 格式: XLAT ;AL=BX+AL 舉例: 若要將十進(jìn)制數(shù)09轉(zhuǎn)換成共陽極LED顯示的字形代碼,則列表如表3.4所示。表32 十進(jìn)制數(shù)0 9轉(zhuǎn)換成LED顯示的字形代碼 注意點(diǎn): 1)XLAT指令應(yīng)用時(shí),首先對應(yīng)列出兩種代碼的表格。 2)使用換碼指令之前,要求BX寄存器指向表的首地址,AL中為表中某一項(xiàng)與表格首地址之間的位移量。 3地址傳送指令 它包括3條指令: 取有效地址指令LEA; 將地址指針裝入DS指令LDS; 將地址指針裝入ES指令LES。 格式: LEA 寄存器,源操作數(shù) LDS 寄存器,源操作數(shù) LES 寄
22、存器,源操作數(shù) 舉例: LEA AX,DI+16 將DI+16裝入AX LEA AX,1234H 將1234H裝入AX LDS SI,2130H 將2130H和2131H中的內(nèi)容裝入SI,將2132H和2133H中的內(nèi)容裝入DS。 LES DI,DI+10H 將DI+10H和DI+10H+1中的內(nèi)容裝入DI,將DI+10H+2和DI+10H+3中的內(nèi)容裝入ES。 圖3-20說明了LDS指令的操作,LES指令的操作與LDS指令類似,僅將段基址傳送給ES。 注意點(diǎn): 1)指令格式中的源操作數(shù)必須是存儲(chǔ)器尋址方式。 2)注意LEA指令與MOV指令的區(qū)別。 3)LDS和LES指令中源操作數(shù)有效地址所對
23、應(yīng)的雙字長的高字內(nèi)容一般為16位段地址,低字內(nèi)容一般為16位偏移地址,這兩條指令主要用來裝入段地址和偏移地址。 4標(biāo)志傳送指令 標(biāo)志傳送指令包括4條指令: 標(biāo)志讀取指令LAHF FLAG低8位內(nèi)容送AH 標(biāo)志設(shè)置指令SAHF AH內(nèi)容送FLAG低8位 標(biāo)志寄存器壓入堆棧指令PUSHF FLAG壓入堆棧 標(biāo)志寄存器從堆棧彈出指令POPF 從堆棧彈出到FLAG 格式:LAHF SAHF PUSHF POPF 舉例: PUSHF POP BX PUSH CX POPF 注意點(diǎn): 1)標(biāo)志讀取指令LAHF和標(biāo)志設(shè)置指令SAHF僅傳送SF、ZF、AF、PF和CF五個(gè)標(biāo)志,傳送到AH寄存器相應(yīng)的位如圖3-
24、21所示。這兩條指令是為了保持8086指令系統(tǒng)對8位微處理器8080指令系統(tǒng)的兼容性而設(shè)置的。 2)標(biāo)志寄存器與通用寄存器之間沒有直接傳送指令,可通過舉例實(shí)現(xiàn)標(biāo)志寄存器的值送到BX寄存器;可通過舉例實(shí)現(xiàn)CX寄存器的值送到標(biāo)志寄存器。 3)執(zhí)行PUSHF指令是不影響原標(biāo)志寄存器的值,此時(shí)堆棧指針SP的值自動(dòng)減2;執(zhí)行POPF指令堆棧指針SP的值自動(dòng)加2。3.4.2 3.4.2 算術(shù)運(yùn)算類指令算術(shù)運(yùn)算類指令 1加法指令 格式: ADD 目的操作數(shù),源操作數(shù) ;源+目的目的 ADC 目的操作數(shù),源操作數(shù) ;源+目的+CF目的 INC 目的操作數(shù) ;目的+1目的 舉例: ADD AX,150H ADD
25、 BX,SI ADD BXSI,DX ADD AX,SI1000H ADC BX,AX ADC CX,BX ADC DX,1000H INC BL INC DX INC BYTE PTRBXSI 注意點(diǎn): 1)ADD和ADC指令除了是否帶進(jìn)位的區(qū)別以外,其余都相同。它們源操作數(shù)和目的操作數(shù)的尋址方式是一樣的,目的操作數(shù)不能是立即數(shù)、CS、IP。 2)ADC指令為實(shí)現(xiàn)多字節(jié)的加法運(yùn)算提供了方便。 3)INC指令影響標(biāo)志位AF、OF、PF、SF和ZF,但它不影響進(jìn)位標(biāo)志CF。 4)ADD和ADC指令要影響標(biāo)志位OF、SF、ZF、AF、CF、PF。 2減法指令 格式: SUB 目的操作數(shù),源操作數(shù)
26、;目的-源目的 SBB 目的操作數(shù),源操作數(shù) ;目的-源-CF目的 DEC 目的操作數(shù) ;目的-1目的 NEG 目的操作數(shù) ;目的取補(bǔ)(0-目的)目的 CMP 目的操作數(shù),源操作數(shù) ;目的-源棄結(jié)果置標(biāo)志 舉例: SUB AX,BX SUB BP2,AL SUB AH,110 SUB BX,10H SUB WORD PTRBX,100 SBB CX,1234H DEC BX DEC AL DEC BYTEPTR SI200 注意點(diǎn): 1)SUB和SBB指令除了是否帶進(jìn)位的區(qū)別以外,其余都相同。它們源操作數(shù)和目的操作數(shù)的尋址方式是一樣的,目的操作數(shù)不能是立即數(shù)、CS、IP。 2)SBB指令為實(shí)現(xiàn)
27、多字節(jié)的減法運(yùn)算提供了方便。 3)DEC指令影響標(biāo)志位AF、OF、PF、SF和ZF,但它不影響進(jìn)位標(biāo)志CF。 4)SUB、SBB、NEG、CMP指令要影響標(biāo)志位OF、SF、ZF、AF、CF、PF。 5)求補(bǔ)指令NEG相當(dāng)于用0減去目的操作數(shù)。該指令會(huì)影響標(biāo)志位AF、CF、OF、PF、SF和PF。只有當(dāng)目的操作數(shù)為0時(shí),CF才為0,否則CF為1。 6)比較指令CMP只是使結(jié)果影響標(biāo)志位,但不送回相減的結(jié)果。 3乘法指令 格式:MUL 源操作數(shù) ;無符號(hào)數(shù)乘法 IMUL 源操作數(shù) ;有符號(hào)數(shù)乘法 注意:8位8位運(yùn)算另一操作數(shù)在AL中,乘積在AX中;16位16位運(yùn)算另一操作數(shù)在AX中,乘積在DX和A
28、X中 舉例: MUL DL IMUL CX MUL BYTE PTR BX IMUL WORD PTRSI注意點(diǎn): 1)8086在執(zhí)行乘法指令時(shí),有一個(gè)乘數(shù)總是放在AL或者AX中,如果指令中源操作數(shù)是8位,則放在AL中;如果指令中源操作數(shù)是16位,則放在AX中。 2)存放乘法指令積的寄存器也是隱含給出,當(dāng)源操作數(shù)是8位時(shí),則存放積的寄存器是AX;當(dāng)源操作數(shù)是16位時(shí),則存放積的低16位寄存器是AX,高16位寄存器是DX。 3)乘法運(yùn)算指令MUL和IMUL在執(zhí)行時(shí),會(huì)影響標(biāo)志位CF和OF,即:乘積的高半部分(字節(jié)乘指AH,字乘指DX)不為零,則標(biāo)志位CF和OF均置1。表示AH及DX中有乘積的有效
29、數(shù)字,否則CF、OF均置零,但AF、PF、SF和ZF是不確定的,因此這4個(gè)標(biāo)志位無意義。 4)只有寄存器和存儲(chǔ)器操作數(shù)可以使用。 4除法指令 格式:DIV 源操作數(shù) ;無符號(hào)數(shù)除法 IDIV 源操作數(shù) ;有符號(hào)數(shù)除法 CBW ;將AL擴(kuò)展到AX CWD ;將AX擴(kuò)展到DX AX 當(dāng)源操作數(shù)為8位時(shí),被除數(shù)應(yīng)為16位,放在AX中,執(zhí)行后商放在AL中,余數(shù)放在AH中。 當(dāng)源操作數(shù)為16位時(shí),被除數(shù)應(yīng)為32位,放在DX AX中,執(zhí)行后商放在AX中,余數(shù)放在DX中。 舉例:DIV CL DIV WORD PTR DI IDIV BX IDIV BYTE PTR DI MOV AL,72H CBW MO
30、V AX,8600H CWD 注意點(diǎn): 1)在除法指令中,只有一個(gè)源操作數(shù)作為除數(shù),被除數(shù)隱含給出,當(dāng)源操作數(shù)是8位時(shí),則被除數(shù)一定是16位的數(shù),被放在AX中;當(dāng)源操作數(shù)是16位時(shí),則被除數(shù)一定是32位的數(shù),低16位放在AX中,高16位放在DX中。 2)除法運(yùn)算后,標(biāo)志位AF、CF、OF、PF、SF和ZF都是不確定的,也就是說,它們或?yàn)?,或?yàn)?,但都沒有意義。 3)除法運(yùn)算的溢出問題不能使用標(biāo)志位OF來判斷。如果除數(shù)是8位,則商的范圍為0255( 對有符號(hào)數(shù)為-128+127 );如果源操作數(shù)是16位,則商的范圍為065535 ( 對有符號(hào)數(shù)為-32768+32767 )。若商超出了這個(gè)范圍
31、,CPU認(rèn)為除數(shù)為0,即產(chǎn)生0號(hào)中斷。 4)IDIV指令規(guī)定余數(shù)的符號(hào)和被除數(shù)的符號(hào)相同,如-51除以9,可以得到商為-5,余數(shù)為-6。 5)當(dāng)被除數(shù)與除數(shù)位數(shù)相同時(shí),必須進(jìn)行擴(kuò)展處理,即用CBW進(jìn)行字?jǐn)U展,見舉例。用CWD進(jìn)行雙字?jǐn)U展,見舉例。 6)CBW、CWD指令在執(zhí)行時(shí),不影響標(biāo)志位。 7)只有寄存器和存儲(chǔ)器操作數(shù)可以使用。 5BCD碼運(yùn)算的調(diào)整指令 分為兩類:組合式BCD碼和分離式BCD碼 格式: DAA ;組合BCD碼加法調(diào)整: AAA ;分離BCD碼加法調(diào)整 DAS ;組合BCD碼減法調(diào)整 AAS ;分離BCD碼減法調(diào)整 AAM ;分離BCD碼乘法調(diào)整 AAD ;分離BCD碼除法
32、調(diào)整(在除法指令前使用) DAA:若加法的結(jié)果使AL中低4位大于9或AF=1,則對AL的低4位進(jìn)行加6修正,當(dāng)AL中高4位大于9或CF=1,則對AL高4位進(jìn)行加6修正。 AAA:若加法的結(jié)果使AL中低4位大于9或AF=1,則對AL的低4位進(jìn)行加6修正,同時(shí)使AH寄存器加1,并使AF及CF標(biāo)志置1,AL寄存器中高4位清零。 DAS:若減法的結(jié)果使AL中低4位大于9或AF=1,則對AL的低4位進(jìn)行減6修正,當(dāng)AL中高4位大于9或CF=1,則對AL高4位進(jìn)行減6修正。 AAS:若減法的結(jié)果使AL中低4位大于9或AF=1,則對AL的低4位進(jìn)行減6修正,同時(shí)使AH寄存器減1,并使AF及CF標(biāo)志置1,AL
33、寄存器中高4位清零。 舉例: ADC AL,SI DAA ADD AL,DI AAA SUB AL,BX DAS MUL DL AAM AAD DIV BL 注意點(diǎn): 1)BCD碼的加法,可以認(rèn)為由ADD(ADC)和DAA兩條指令一起才能構(gòu)成十進(jìn)制數(shù)的加法運(yùn)算指令??砂堰@兩條指令看成是復(fù)合的十進(jìn)制數(shù)加法指令,BCD碼的減法也一樣。 2)只有分離的BCD碼才能進(jìn)行乘法運(yùn)算,利用十進(jìn)制數(shù)調(diào)整指令A(yù)AM將結(jié)果調(diào)整后,積的高位存放在AH中,低位存放在AL中。 3)加、減、乘法在使用十進(jìn)制調(diào)整指令前,中間結(jié)果都存入AL中,不能使用其他寄存器。 4)只有分離式BCD碼才能進(jìn)行除法運(yùn)算,分離式BCD碼除法使
34、用次序與加、減、乘法不一樣,在進(jìn)行二進(jìn)制除法運(yùn)算之前,使用十進(jìn)制數(shù)除法調(diào)整指令A(yù)AD將AH及AL中二位十進(jìn)制數(shù)調(diào)整為二進(jìn)制數(shù)。3.4.3 3.4.3 邏輯運(yùn)算和移位指令邏輯運(yùn)算和移位指令 兩組處理指令:邏輯運(yùn)算指令和移位指令。 1邏輯運(yùn)算指令 指令格式: AND 目的操作數(shù),源操作數(shù) ;邏輯與 OR 目的操作數(shù),源操作數(shù) ;邏輯或 NOT 目的操作數(shù) ;邏輯非 XOR 目的操作數(shù),源操作數(shù) ;邏輯異或 TEST 目的操作數(shù),源操作數(shù) ;測試(邏輯與棄結(jié)果置標(biāo)志) 舉例: AND BL,0FH OR CX,BXDI XOR AX,0F0H TEST BX,8000H NOT WORD PTR 1
35、00H 注意點(diǎn): 1)所有的指令都對其操作數(shù)按位進(jìn)行邏輯操作,操作數(shù)可以是字節(jié)或字。 2)目的操作數(shù)不能是立即數(shù);當(dāng)有兩個(gè)操作數(shù)時(shí),則不能同時(shí)都是存儲(chǔ)器操作數(shù)。 3)TEST指令的功能和AND指令功能相似,將兩數(shù)進(jìn)行邏輯“與”操作,但結(jié)果不返回到目的數(shù)中,僅影響SF、ZF和PF標(biāo)志位。 邏輯運(yùn)算指令的用途: 1)AND指令可以將操作數(shù)的某些位清0(用1與不變,用0與清0)。 2)OR指令可以將操作數(shù)的某些位置1(用1或置1,用0或不變)。 3)XOR指令可以將操作數(shù)的某些位取反(用1異或取反,用0異或不變)。 2移位指令 分為兩大類:非循環(huán)移位指令和循環(huán)移位指令。 (1)非循環(huán)移位指令 指令格
36、式: SAL 目的操作數(shù),計(jì)數(shù)值 ;算術(shù)左移 SHL 目的操作數(shù),計(jì)數(shù)值 ;邏輯左移 SAR 目的操作數(shù),計(jì)數(shù)值 ;算術(shù)右移 SHR 目的操作數(shù),計(jì)數(shù)值 ;邏輯右移 舉例: SAL AX,l SHL AX,CL SHR WORD PTR SI,1 SHR DI,1 注意點(diǎn): 1)指令操作數(shù)中的目的操作數(shù)可以是字節(jié)或字。指令的目的操作數(shù)只能是寄存器或存儲(chǔ)器操作數(shù)。計(jì)數(shù)值可以是1或CL,最多可移位255位。如果計(jì)數(shù)值大于1,就必須將計(jì)數(shù)值放入CL中。 2)算術(shù)右移保持目的操作數(shù)符號(hào)位(即最高位)不變。算術(shù)左移或右移n位,相當(dāng)于把二進(jìn)制數(shù)乘以或除以2n。 3)移位指令的執(zhí)行結(jié)果會(huì)影響PF、SF、ZF
37、和CF。CF總是等于目的操作數(shù)最后移出的那一位的值。AF是不定的。若只左移一位,如果最高位和CF不同,則OF置“1”,否則置“0”。對有符號(hào)數(shù)來說,以此來判斷移位后的符號(hào)位和移位前的符號(hào)位不同。 (2)循環(huán)移位指令 指令格式: ROL 目的操作數(shù),計(jì)數(shù)值 ;左循環(huán) ROR 目的操作數(shù),計(jì)數(shù)值 ;右循環(huán) RCL 目的操作數(shù),計(jì)數(shù)值 ;帶進(jìn)位左循環(huán) RCR 目的操作數(shù),計(jì)數(shù)值 ;帶進(jìn)位右循環(huán) 舉例: ROL DX,l ROR AL,CL RCL BYTE PTR BX,1 RCR WORD PTR BX,1 注意點(diǎn): 1)指令操作數(shù)中的目的操作數(shù)可以是字節(jié)或字。指令的目的操作數(shù)只能是寄存器或存儲(chǔ)器
38、操作數(shù)。計(jì)數(shù)值可以是1或CL,最多可移位255位。 2)循環(huán)移位時(shí),移出的目的操作數(shù)位并不丟失,而循環(huán)送回目的操作數(shù)的另一端。 3)循環(huán)移位指令只影響CF和OF兩個(gè)標(biāo)志,CF中總是保存著從一端移出的那一位信息。僅當(dāng)在移位后使操作數(shù)的最高位和次高位不等,OF才為1,表示移位后的數(shù)據(jù)符號(hào)和原來的符號(hào)不同了。3.4.4 3.4.4 串操作指令串操作指令 串操作指令-用一條指令實(shí)現(xiàn)對一串字符或數(shù)據(jù)的操作。 串操作指令的特點(diǎn): 通過加重復(fù)前綴來實(shí)現(xiàn)串操作,規(guī)定CX寄存器存放要處理的字符串的元素個(gè)數(shù),即:字節(jié)數(shù)或字?jǐn)?shù)。 可以對字節(jié)串進(jìn)行操作,也可以對字串進(jìn)行操作(源串用DS:SI,目的串用ES:DI)。
39、串操作時(shí),SI和DI的增減規(guī)定由方向標(biāo)志DF設(shè)定,當(dāng)DF=1時(shí),SI和DI作自動(dòng)減量修改,當(dāng)DF=0時(shí),SI和DI作自動(dòng)增量修改,對字節(jié)串操作增減量為1,對字串操作增減量為2。 重復(fù)的字符串處理過程可以被中斷。 5條串操作指令:串傳送指令MOVS、串比較指令CMPS、串檢索指令SCAS、串裝入指令LODS和串存儲(chǔ)指令STOS。 3條重復(fù)前綴:重復(fù)前綴REP、相等時(shí)重復(fù)REPE和不相等時(shí)重復(fù)REPNE。 1指令的重復(fù)前綴 格式: REP 串操作指令 CX-1,CX0則繼續(xù)執(zhí)行 REPE 串操作指令 或 REPZ 串操作指令 CX-1,CX0且ZF=1則繼續(xù)執(zhí)行 REPNE 串操作指令 或 REP
40、NZ 串操作指令 CX-1,CX0且ZF=0則繼續(xù)執(zhí)行 注意點(diǎn): 1)指令功能中的“相等”與“不相等”是指零標(biāo)志位ZF=1時(shí),表示“相等”,ZF=0時(shí)表示“不相等”,零標(biāo)志位ZF是由當(dāng)前串操作指令本身在執(zhí)行過程中產(chǎn)生的。 2)REPE和REPZ兩個(gè)重復(fù)前綴指令是相同的,同樣,REPNE和REPNZ兩個(gè)重復(fù)前綴的意義也是相同的。 3)重復(fù)前綴REP一般與串操作指令聯(lián)合使用才有意義。 2字符串指令 (1)字符串傳送指令 指令格式:MOVSB MOVSW 功能:將DS:SI邏輯地址所指存儲(chǔ)單元的字節(jié)或字傳送到ES:DI邏輯地址所指的單元,當(dāng)DF=0,SI和DI均增1或2;當(dāng)DF=1,SI和DI均減1
41、或2。 舉例: MOV DS,2000H MOV ES,3000H CLD MOV CX,200 MOV SI,200H MOV DI,100H REP MOVSW 注意點(diǎn): 1)MOVSB或MOVSW指令前面通常加重復(fù)前綴REP。 2)在使用MOVSB或MOVSW指令前,對DS、ES、SI、DI、CX以及DF的設(shè)置是必需的,否則,只要有一個(gè)參數(shù)未知,程序?qū)?huì)出錯(cuò)。 3)CX中的值是元素個(gè)數(shù),使用MOVSB指令時(shí),該值是字節(jié)數(shù);使用MOVSW指令時(shí),該值是字?jǐn)?shù)。 (2)字符串比較指令 指令格式:CMPSB CMPSW 功能:將DS:SI邏輯地址所指存儲(chǔ)單元的字節(jié)或字與ES:DI邏輯地址所指的字
42、節(jié)或字進(jìn)行比較(DS:SI - ES:DI),當(dāng)DF=0,SI和DI均增1或2;當(dāng)DF=1,SI和DI均減1或2。 舉例: 編程比較從邏輯地址2000H:100H開始的10個(gè)字節(jié)與邏輯地址4000H:200H開始的10個(gè)字節(jié)是否對應(yīng)相等,相等則轉(zhuǎn)DONE。MOV DS,2000HMOV ES,4000HMOV DI, 200HMOV SI, 100HCLD MOV CX,10 REPZ CMPSB JZ DONE RET DONE: 注意點(diǎn): 1)與字符串傳送指令一樣要預(yù)先對DS、SI、ES、DI、CX寄存器及方向標(biāo)志DF進(jìn)行設(shè)置。設(shè)置要求及寄存器內(nèi)容在每次比較后的變化與字符串傳送指令一樣。
43、2)字符串比較指令的前綴可以有兩種形式:REPNZ(或REPNE)和REPZ(或REPE)。加上REPNZ時(shí),表示兩個(gè)字符串不等時(shí)繼續(xù)比較。加上REPZ時(shí),則表示兩個(gè)字符串相等時(shí)繼續(xù)比較。 3)REPNZ和REPZ的退出有兩種情況,一種是CX=0退出,另一種是ZF標(biāo)志位條件不滿足而退出,因此,必須安排ZF標(biāo)志位檢測指令JZ判斷究竟是哪一種退出。 (3)字符串檢索指令 指令格式:SCASB SCASW 功能:在字符串中查找一個(gè)與已知數(shù)值相同或不同的元素。即用AL或AX減ES:DI所指存儲(chǔ)單元的字節(jié)或字,當(dāng)DF=0,DI增1或2;當(dāng)DF=1,DI減1或2。 舉例: 從邏輯地址9000H:100H開
44、始的10個(gè)單元中如果有一個(gè)單元的內(nèi)容為2CH,則BX加1。 MOV ES,9000H MOV DI,100H CLD MOV CX,10 MOV AL,2CH REPNZ SCASB JNZ AAA INC BXAAA: 注意點(diǎn): 1)與字符串傳送指令一樣要預(yù)先對ES、DI、CX寄存器及方向標(biāo)志DF進(jìn)行設(shè)置。設(shè)置要求及寄存器內(nèi)容在每次比較后的變化與字符串傳送指令一樣。 2)關(guān)于前綴使用的注意事項(xiàng)與字符串比較指令類似。 (4) 取字符串指令 指令格式:LODSB;從DS:SI取入到AL或AX,無前綴 LODSW 功能:將DS:SI邏輯地址所指存儲(chǔ)單元的字節(jié)或字傳送到AL或AX,當(dāng)DF=0,SI增
45、1或2;當(dāng)DF=1,SI減1或2。 舉例: 將100H:20H單元開始的10個(gè)字節(jié)的內(nèi)容均加5。 CLD MOV CX,5 MOV DS,100H MOV SI,20HLL1: LODSB ADD AL,5 MOV SI,AL DEC CX JNZ LL1 HLT 注意點(diǎn): 1)LODSB/LODSW每執(zhí)行一次,都是將DS:SI所指單元的內(nèi)容送入,所以該指令前不能加前綴,否則,累加器的內(nèi)容會(huì)被后一次操作所覆蓋,是沒有意義的。 2)源操作數(shù)必須由DS:SI,取數(shù)方向必須由方向標(biāo)志DF給出。 (5)存字符串指令 指令格式:STOSB STOSW 功能:將AL或AX傳送到ES:DI邏輯地址所指存儲(chǔ)單
46、元的字節(jié)或字,當(dāng)DF=0,SI和DI均增1或2;當(dāng)DF=1,SI和DI均減1或2。 舉例: 將100H:20H開始的128個(gè)單元清0。 CLD MOV CX,0080H MOV ES,100H MOV DI,20H MOV AL,00H(或 XOR AX,AX) REP STOSW 注意點(diǎn): 目的操作數(shù)必須由ES:DI給出,取數(shù)方向必須由方向標(biāo)志DF給出,STOSB指令源操作數(shù)必須是AL,STOSW指令源操作數(shù)必須是AX。3.4.5 3.4.5 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令 5種轉(zhuǎn)移指令: 無條件跳轉(zhuǎn)指令 條件跳轉(zhuǎn)指令 循環(huán)控制指令 子程序調(diào)用和返回指令 中斷指令 1無條件跳轉(zhuǎn)指令 指令格式:
47、JMP 目標(biāo)地址 舉例: JMP SHORT MULTI;目標(biāo)在-128+127間 JMP NEAR PTR MULT2;段內(nèi) JMP CX;段內(nèi)間接轉(zhuǎn)移 JMP FAR PTR MULT3;段間 JMP DWORD PTR SI ;段間間接轉(zhuǎn)移,段基址 放在SI起始的4個(gè)字節(jié)中 注意點(diǎn): 1)指令目標(biāo)地址若在JMP指令所在的代碼段內(nèi),屬段內(nèi)跳轉(zhuǎn),指令只修改IP內(nèi)容,指令目標(biāo)地址若在JMP指令所在的代碼段外,屬段間跳轉(zhuǎn),CS及IP均要修改。 2)無條件跳轉(zhuǎn)指令的執(zhí)行結(jié)果不影響標(biāo)志位。 2條件跳轉(zhuǎn)指令 (1)簡單條件跳轉(zhuǎn)指令 指令格式: JC 目標(biāo)地址 ;CF=1轉(zhuǎn) 最高位進(jìn)位標(biāo)志 JNC 目標(biāo)
48、地址 ;CF=0轉(zhuǎn) JZ 目標(biāo)地址 ;ZF=1轉(zhuǎn) 前面的結(jié)果為0 JNZ 目標(biāo)地址 ;ZF=0轉(zhuǎn) 前面的結(jié)果不為0 JS 目標(biāo)地址 ;SF=1轉(zhuǎn) 結(jié)果為負(fù)JNS 目標(biāo)地址 ;SF=0轉(zhuǎn) 結(jié)果為正 JO 目標(biāo)地址 ;OF=1轉(zhuǎn) 溢出 JNO 目標(biāo)地址 ;OF=0轉(zhuǎn) 無溢出 JP 目標(biāo)地址 ;PF=1轉(zhuǎn) 低八位為偶 JNP 目標(biāo)地址 ;PF=0轉(zhuǎn) 低八位為奇 JCXZ 目標(biāo)地址 ;CX=0轉(zhuǎn) 舉例:用條件跳轉(zhuǎn)指令實(shí)現(xiàn)程序的循環(huán) MOV SI,1000H MOV DI,2000H MOV CX,100KKK: MOVSB DEC CX JNZ KKK 注意點(diǎn): 1)所有的條件轉(zhuǎn)移指令(包括其他兩類指
49、令)都是相對轉(zhuǎn)移形式的,只能以本指令為中心的-128+127字節(jié)范圍內(nèi)轉(zhuǎn)移。當(dāng)需要往一個(gè)較遠(yuǎn)的地方進(jìn)行條件轉(zhuǎn)移時(shí),可以先用條件轉(zhuǎn)移指令轉(zhuǎn)到附近一個(gè)單元地址,然后,再通過無條件轉(zhuǎn)移指令轉(zhuǎn)到較遠(yuǎn)的目的地址。 2)在使用簡單條件跳轉(zhuǎn)指令時(shí),必須明確相應(yīng)的標(biāo)志位的變化。 (2)帶符號(hào)數(shù)條件跳轉(zhuǎn)指令 指令格式: JG/JNLE 目標(biāo)地址 ;大于(不小于等于)轉(zhuǎn) JGE/JNL 目標(biāo)地址 ;大于等于(不小于)轉(zhuǎn) JL/JNGE 目標(biāo)地址 ;小于(不大于等于)轉(zhuǎn) JLE/JNG 目標(biāo)地址 ;小于等于(不大于)轉(zhuǎn) 舉例:設(shè)有2個(gè)互不相等的帶符號(hào)字節(jié)數(shù)存放在以100H為首地址的數(shù)據(jù)緩沖區(qū)中,試編程把較大的數(shù)送2
50、00H單元中。MOV SI,100HMOV AL,SICMP AL,SI+1JG L1MOV AL,SI+1L1:MOV SI,200HMOV SI,AL 注意點(diǎn):在使用帶符號(hào)數(shù)條件跳轉(zhuǎn)指令時(shí),必須明確當(dāng)前處理的數(shù)據(jù)是帶符號(hào)數(shù),否則將得不到正確結(jié)果。 (3)無符號(hào)數(shù)條件跳轉(zhuǎn)指令 指令格式: JB/JNAE 目標(biāo)地址 ;低于(不高于等于)轉(zhuǎn) JNB/JAE 目標(biāo)地址 ;不低于(高于等于)轉(zhuǎn) JA/JNBE 目標(biāo)地址 ;高于(不低于等于)轉(zhuǎn) JNA/JBE 目標(biāo)地址 ;不高于(低于等于)轉(zhuǎn) 注意點(diǎn):在使用無符號(hào)數(shù)條件跳轉(zhuǎn)指令時(shí),必須明確當(dāng)前處理的數(shù)據(jù)是無符號(hào)數(shù),否則將得不到正確結(jié)果。在帶符號(hào)數(shù)條件跳轉(zhuǎn)指令的舉例中,只要把JGE LAB2指令改為JAE LAB2指令,就是處理無符號(hào)數(shù)實(shí)例。 3循環(huán)控制指令 指令格式: LOOP 目標(biāo)地址 ; CX-1,CX0則繼續(xù)執(zhí)行 LOOPZLOOPE 目標(biāo)地址 ; CX-1,CX0且ZF=1則繼續(xù)執(zhí)行 LOOPNZLOOPNE 目標(biāo)地址 ; CX-1,CX0且ZF=0則繼續(xù)執(zhí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工企業(yè)2025年春節(jié)節(jié)后復(fù)工復(fù)產(chǎn)工作專項(xiàng)方案 (合計(jì)3份)
- 下午考前囑咐囑咐什么?發(fā)言提綱
- 古詩文初賽答案(正稿)
- 《電路原理圖繪制》課件
- 傳統(tǒng)服飾設(shè)計(jì)師職責(zé)概述
- 鋼鐵結(jié)構(gòu)設(shè)計(jì)師職責(zé)說明
- 煤炭行業(yè)美工工作總結(jié)
- 特需科護(hù)士工作總結(jié)
- 財(cái)務(wù)工作資金管理總結(jié)
- 專業(yè)技能與教研水平
- 手術(shù)室敏感指標(biāo)構(gòu)建
- 書法創(chuàng)作設(shè)計(jì)方案
- MOOC 軟件工程概論-北京聯(lián)合大學(xué) 中國大學(xué)慕課答案
- 2023年鐵路工務(wù)安全規(guī)則正文
- 生態(tài)安全與環(huán)境風(fēng)險(xiǎn)評(píng)估預(yù)警機(jī)制
- MOOC 傳熱學(xué)-西安交通大學(xué) 中國大學(xué)慕課答案
- 影視劇本創(chuàng)作與改編策劃
- 藥品配送服務(wù)應(yīng)急預(yù)案
- 山東省青島市市北區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末地理試題
- 2024年東方航空人力資源管理西北分公司招聘筆試參考題庫含答案解析
- 2023年海南省公務(wù)員錄用考試《行測》真題和答案解析
評(píng)論
0/150
提交評(píng)論