微機(jī)原理及接口度第10次_第1頁(yè)
微機(jī)原理及接口度第10次_第2頁(yè)
微機(jī)原理及接口度第10次_第3頁(yè)
微機(jī)原理及接口度第10次_第4頁(yè)
微機(jī)原理及接口度第10次_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微機(jī)原理及接口微機(jī)原理及接口度第10次第二章 微型計(jì)算機(jī)指令系統(tǒng) 第三節(jié) 8086指令系統(tǒng)數(shù)據(jù)傳送指令算術(shù)運(yùn)算指令邏輯運(yùn)算和移位指令串操作指令控制轉(zhuǎn)移指令處理器控制指令微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)四、串操作指令 串傳送 MOVSB ; (1) (DI) (SI) (2) SI、DI1 MOVSW ; (1) (DI) (SI) (2) SI、DI2串存入 STOSB ; (1) (DI) AL (2) DI1 STOSW ; (1) (DI) AX (2) DI2串裝入 LODSB ; (1) AL (SI) (2) SI1 LODSW ; (1) AX (SI)

2、 (2) SI2串比較 CMPSB ; (1) (SI) -(DI) (2) SI、DI1 CMPSW ; (1) (SI) -(DI) (2) SI、DI2串掃描 SCASB ; (1) AL - (DI) (2) DI1 SCASW ; (1) AX - (DI) (2) DI2(一)基本串操作指令微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)四、串操作指令(二)串操作指令重復(fù)前綴REP的操作:若(CX)=0,則退出循環(huán)。 (CX)(CX)-1 ; 執(zhí)行REP后面的串操作指令一次; 重復(fù) REPE/REPZ的操作:若(CX)=0或(ZF)=0,則退出循環(huán)。 (CX)(CX)-1

3、 ; 執(zhí)行REP后面的串操作指令一次; 重復(fù) REPNE/REPNZ的操作:若(CX)=0 或(ZF)=1 ,則退出循環(huán)。 (CX)(CX)-1 ; 執(zhí)行REP后面的串操作指令一次; 重復(fù) 微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)四、串操作指令(三)DF置位/復(fù)位指令CLD (DF)=0;STD (DF)=11. 源串SI對(duì)應(yīng)DS段、可超越;目標(biāo)串DI對(duì)應(yīng)ES段、不可超越;3. 每一次操作自動(dòng)修改地址指針。(四)串操作指令說(shuō)明4. REP可以與MOVS、STOS指令連用;REPZ、REPNE可以與 CMPS、SCAS指令連用。2. 執(zhí)行重復(fù)串操作前,應(yīng)將計(jì)數(shù)器CX中置數(shù)。微機(jī)

4、原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng) 例1:比較兩個(gè)字符串,找出第一個(gè)不相等字符的地址。如兩字串完全相同,則轉(zhuǎn)到ALLMATCH進(jìn)行處理。兩字串長(zhǎng)度均為20,首地址為STRING1和STRING2。DECSI DEC DIMOV SI , OFFSET STRING1 MOV DI, OFFSET STRING2;取STRING1的偏移地址;取STRING2的偏移地址MOV CX, 20;置循環(huán)次數(shù)CLD;置方向REPE CMPSB;若相同重復(fù)比較,若不同則退出JZALLMATCH;如ZF=1,則表示完全相同;恢復(fù)第一個(gè)不相等字符的原;地址ALLMATCH:微機(jī)原理及接口度第

5、10次第三節(jié) 8086/8088指令系統(tǒng) 例2: 將DS:2000H開(kāi)始的09的ASCII碼傳送到ES:3000H開(kāi)始的數(shù)據(jù)區(qū)中. 例3: 在DS:2000H4000H中查找A,找到送至DL否則DL=0.微機(jī)原理及接口度第10次第二章 微型計(jì)算機(jī)指令系統(tǒng) 第三節(jié) 8086指令系統(tǒng)數(shù)據(jù)傳送指令算術(shù)運(yùn)算指令邏輯運(yùn)算和移位指令串操作指令控制轉(zhuǎn)移指令處理器控制指令微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)一、數(shù)據(jù)傳送指令三、邏輯運(yùn)算與移位指令二、算術(shù)運(yùn)算指令四、串操作指令五、控制轉(zhuǎn)移指令轉(zhuǎn)移指令循環(huán)控制指令過(guò)程調(diào)用指令中斷指令(一)轉(zhuǎn)移指令I(lǐng)P目標(biāo)地址1. JMP 無(wú)條件轉(zhuǎn)移指令例:J

6、MP QUEST JMP BX JMP WORD PTR 2000H微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)(一)轉(zhuǎn)移指令轉(zhuǎn)移發(fā)生在段內(nèi)(本代碼段內(nèi)),稱為段內(nèi)轉(zhuǎn)移,操作數(shù)為偏移地址;轉(zhuǎn)移發(fā)生在段間(其它代碼段),稱為段間轉(zhuǎn)移,操作數(shù)為段基址和偏移地址。1. JMP 無(wú)條件轉(zhuǎn)移指令微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)(一)轉(zhuǎn)移指令1. JMP 無(wú)條件轉(zhuǎn)移指令1) 段內(nèi)直接轉(zhuǎn)移轉(zhuǎn)移地址的有效地址是當(dāng)前IP和8位或16位偏移量(帶符號(hào)數(shù))之和。 若為8位的偏移量,轉(zhuǎn)移范圍在-128+127之間,稱為短轉(zhuǎn)移 若為16位偏移量,轉(zhuǎn)移范圍在-32768+32767

7、之間。 微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)(一)轉(zhuǎn)移指令1. JMP 無(wú)條件轉(zhuǎn)移指令2) 段內(nèi)間接轉(zhuǎn)移轉(zhuǎn)移地址的有效地址是寄存器的內(nèi)容或存儲(chǔ)單元的內(nèi)容(一個(gè)字)。 Eg: MOV BX, 2346H JMP BX; IPBX Eg:JMP WORD PTR QUEST; 將QUEST和QUEST+1地址單元的內(nèi)容送至IP。 (IP)(寄存器) 或 (IP)(存儲(chǔ)器) 微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)(一)轉(zhuǎn)移指令1. JMP 無(wú)條件轉(zhuǎn)移指令3) 段間直接轉(zhuǎn)移指令中直接給出轉(zhuǎn)移地址的段地址和偏移地址。Eg:JMP FAR PTR NEXTPORT

8、 轉(zhuǎn)移地址的段地址和偏移地址放在存儲(chǔ)器單元中(連續(xù)四個(gè)單元)。 4) 段間間接轉(zhuǎn)移Eg:JMP DWORD PTR NEXT (IP) offset 標(biāo)號(hào);(CS)seg 標(biāo)號(hào)(IP) mem32;(CS)mem32+2微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)五、控制轉(zhuǎn)移指令(一)轉(zhuǎn)移指令1. JMP 無(wú)條件轉(zhuǎn)移指令2. Jcc 條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令是根據(jù)前一條指令的運(yùn)行結(jié)果對(duì)某些標(biāo)志位的狀態(tài)來(lái)決定轉(zhuǎn)移的。有些指令只針對(duì)一個(gè)標(biāo)志位的判斷來(lái)實(shí)現(xiàn)轉(zhuǎn)移,有些需對(duì)多個(gè)標(biāo)志位的組合判斷來(lái)實(shí)現(xiàn)轉(zhuǎn)移。條件轉(zhuǎn)移全為短轉(zhuǎn)移指令,即轉(zhuǎn)移目標(biāo)與下一條指令之間的字節(jié)距離在-128+127范圍以內(nèi)

9、。(1)條件轉(zhuǎn)移指令與無(wú)條件轉(zhuǎn)移指令區(qū)別?(2)轉(zhuǎn)移的范圍超出-128+127怎么辦?微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)五、控制轉(zhuǎn)移指令(一)轉(zhuǎn)移指令1. JMP 無(wú)條件轉(zhuǎn)移指令2. Jcc 條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令Jcc 根據(jù)指定的條件確定程序是否發(fā)生轉(zhuǎn)移。其通用的格式為: Jcc label;條件滿足,發(fā)生轉(zhuǎn)移,IPIP+8位位移量; 否則,順序執(zhí)行 Jcc 不影響標(biāo)志,但要利用標(biāo)志。微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)五、控制轉(zhuǎn)移指令(一)轉(zhuǎn)移指令1. JMP 無(wú)條件轉(zhuǎn)移指令2. Jcc 條件轉(zhuǎn)移指令(1)根據(jù)一個(gè)標(biāo)志位的轉(zhuǎn)移指令根據(jù)CF、O

10、F、SF、ZF、PF5個(gè)標(biāo)志位兩種狀態(tài)可以生成10條轉(zhuǎn)移指令指令轉(zhuǎn)移條件說(shuō)明JCCF=1有進(jìn)位轉(zhuǎn)移JNCCF=0無(wú)進(jìn)位轉(zhuǎn)移JZ/JEZF=1結(jié)果為“0”轉(zhuǎn)移JNZ/JNEZF=0結(jié)果不為“0”轉(zhuǎn)移JOOF=1有溢出轉(zhuǎn)移JNOOF=0無(wú)溢出轉(zhuǎn)移JP/JPEPF=1偶校驗(yàn)轉(zhuǎn)移JNP/JPOPF=0奇校驗(yàn)轉(zhuǎn)移JSSF=1結(jié)果為負(fù)數(shù)轉(zhuǎn)移JNSSF=0結(jié)果不為負(fù)數(shù)轉(zhuǎn)移ADDAX , BX JNOL1 JNC L2 JMPL3微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)五、控制轉(zhuǎn)移指令(一)轉(zhuǎn)移指令1. JMP 無(wú)條件轉(zhuǎn)移指令2. Jcc 條件轉(zhuǎn)移指令(2)根據(jù)多個(gè)標(biāo)志位的轉(zhuǎn)移指令有符號(hào)數(shù)分

11、大于(Great Than)、等于(Equal)、小于(Less Than)3種情況;無(wú)符號(hào)數(shù)分高于(Above)、等于(Equal)、低于(Below)3種情況 數(shù)據(jù)類型指令說(shuō)明有符號(hào)數(shù)據(jù)JG/JNLE 大于轉(zhuǎn)移有符號(hào)數(shù)據(jù)JGE/JNL 大于等于轉(zhuǎn)移有符號(hào)數(shù)據(jù)JL/JNGE 小于轉(zhuǎn)移有符號(hào)數(shù)據(jù)JLE/JNG 小于等于轉(zhuǎn)移無(wú)符號(hào)數(shù)據(jù)JA/JNBE 高于轉(zhuǎn)移無(wú)符號(hào)數(shù)據(jù)JAE/JNB 高于等于轉(zhuǎn)移無(wú)符號(hào)數(shù)據(jù)JB/JNAE 低于轉(zhuǎn)移無(wú)符號(hào)數(shù)據(jù)JBE/JNA 低于等于轉(zhuǎn)移微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)五、控制轉(zhuǎn)移指令(一)轉(zhuǎn)移指令2. Jcc 條件轉(zhuǎn)移指令由CX決定的轉(zhuǎn)移

12、JCXZ指令格式JCXZ 目標(biāo)地址標(biāo)號(hào)當(dāng)CX=0轉(zhuǎn)移將內(nèi)存的數(shù)據(jù)段中存放了若干個(gè)8位帶符號(hào)數(shù),數(shù)據(jù)塊的長(zhǎng)度為 count(不超過(guò)255),首地址位table。試統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)和零的個(gè)數(shù),分別存入 plus、minus 和zero單元。DatasegmentTabledb 256 dup (?)Countdb 1 dup (?)Plusdb 1 dup (?)Minusdb 1 dup (?)Zerodb 1 dup (?)Dataends微機(jī)原理及接口度第10次內(nèi)存的數(shù)據(jù)段中存放了若干個(gè)8位帶符號(hào)數(shù),數(shù)據(jù)塊的長(zhǎng)度為 count(不超過(guò)255),首地址位table。試統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)和零的

13、個(gè)數(shù),分別存入 plus、minus 和zero單元。leasi , table cldcheck: lodsb oral , al jsx1 jzx2 incplus jmpnextx1: inc minus jmp nextx2: inc zeronext: dec cxjcxz over jmp checkover: hltCodeends end startDatasegmentTabledb 256 dup (?)Countdb 1 dup (?)Plusdb 1 dup (?)Minusdb 1 dup (?)Zerodb 1 dup (?)DataendsCodesegmenta

14、ssume cs:code,ds:datamovax , datamovds , axstart: xoral , al movplus,al movminus,al movzero,al movch , al movcl , count 微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)五、控制轉(zhuǎn)移指令(一)轉(zhuǎn)移指令1. JMP 無(wú)條件轉(zhuǎn)移指令2. Jcc 條件轉(zhuǎn)移指令例2:寄存器AL中是字母Y(含大小寫(xiě)),則令A(yù)H=0,否則令A(yù)H=-1.思考:如何判斷AX中的數(shù)據(jù)是奇數(shù)還是偶數(shù)?例1:將AX中的無(wú)符號(hào)數(shù)除以2,如果是奇數(shù),則加1后除以2. 例3:比較 AX和BX中的數(shù)(無(wú)符號(hào)數(shù)),

15、并將較大者存入max。 微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)一、數(shù)據(jù)傳送指令三、邏輯運(yùn)算與移位指令二、算術(shù)運(yùn)算指令四、串操作指令五、控制轉(zhuǎn)移指令轉(zhuǎn)移指令循環(huán)控制指令過(guò)程調(diào)用指令中斷指令(一)轉(zhuǎn)移指令(二)循環(huán)控制指令LOOP、LOOPE/LOOPZ、LOOPNE/LOOPNZ注:循環(huán)控制全為短轉(zhuǎn)移指令微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)五、控制轉(zhuǎn)移指令(二)循環(huán)控制指令LOOP、LOOPE/LOOPZ、LOOPNE/LOOPNZ1. LOOP 循環(huán)指令指令格式LOOP 目標(biāo)地址標(biāo)號(hào)操作:1) (CX)(CX)-1 2) 若(CX)0,則轉(zhuǎn)移到目標(biāo)標(biāo)號(hào)

16、; 否則退出循環(huán)。循環(huán)指令主要對(duì)CX或ZF進(jìn)行測(cè)試,確定是否循環(huán),如下表所示 指令格式執(zhí)行操作LOOP OPRD循環(huán)LOOPNZ/LOOPNE OPRD不等/結(jié)果不為0時(shí)循環(huán)LOOPZ/LOOPE OPRD相等/結(jié)果為0時(shí)循環(huán)微機(jī)原理及接口度第10次第三節(jié) 8086/8088指令系統(tǒng)五、控制轉(zhuǎn)移指令(二)循環(huán)控制指令LOOP、LOOPE/LOOPZ、LOOPNE/LOOPNZ1. LOOP 循環(huán)指令2. LOOPE/LOOPZ 相等/為零循環(huán)指令指令格式LOOPE/LOOPZ 目標(biāo)地址標(biāo)號(hào)操作:1) (CX)(CX)-1 2) 若(CX)0且ZF=1,則轉(zhuǎn)移到目標(biāo)標(biāo)號(hào); 否則退出循環(huán)。3. LOOPNE/LOOPNZ 不等/非零循環(huán)指令指令格式LOOPNE/LOOPNZ 目標(biāo)地址標(biāo)號(hào)操作:1) (CX)(CX)-1 2) 若(CX)0且ZF1,則轉(zhuǎn)移到目標(biāo)標(biāo)號(hào); 否則退出循環(huán)。微機(jī)原理及接口度第10次例:已知(AX)=1, (BX)=2, (CX)=3, (DX)=4程序L20:INCAX ADDBX , AX SHRDX , 1 ( )在括號(hào)內(nèi)分別填入LOOP L20 ; LOOPE L20 LOOPNE L20求:程序執(zhí)行后AX、BX、CX、DX的結(jié)果。AXBXCXDXLOOP L20 LOOPE L20LOOPNE L20微機(jī)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論