




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1,2020年12月22日星期二,第3章 8086/8088微處理器及其系統(tǒng),3.1 8086/8088微處理器結(jié)構(gòu) 微處理器功能結(jié)構(gòu) 寄存器結(jié)構(gòu)(編程結(jié)構(gòu)) 3.2 8086/8088存儲(chǔ)器組織 3.3 8086/8088工作方式 時(shí)序和引腳信號(hào) 最大和最小模式 3.4 8086/8088尋址方式 3.5 8086/8088指令系統(tǒng),2,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),92種基本指令,全部公開 六個(gè)功能組(六大類) (1)數(shù)據(jù)傳送(Data transfer) (2)算術(shù)運(yùn)算(Arithmetic) (3)邏輯運(yùn)算和移位指令(Logic DSD 邏輯或 OR
2、 D, S ; D S D 異 或 XOR D, S ; D S D 邏輯非 NOT D ; D D TEST TEST D,S ; D S 1. 兩個(gè)操作數(shù)要滿足類型組合:D (R或M), S(R/M/N) 2. TEST不改變目標(biāo)操作數(shù)內(nèi)容, 其后常緊跟條件轉(zhuǎn)移指令以實(shí)現(xiàn)判斷分支, AND將運(yùn)算結(jié)果送目標(biāo)操作數(shù) 3. 邏輯操作按位進(jìn)行,5,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(3)邏輯運(yùn)算和移位( Logic / Shift ) 邏輯運(yùn)算指令應(yīng)用/ AND/TEST 實(shí)現(xiàn)兩操作數(shù)按位相“與” AND AX,BX ;AX和BX按位與,結(jié)果送AX 使某些位保持不變
3、,其它位清0 AND AL,0FCH ;AL的低2位清0,其余保持不變 操作數(shù)不變,改變3個(gè)標(biāo)志位狀態(tài) AND AX,AX ;使得CF=0 TEST用于“取出”操作數(shù)的某一位來進(jìn)行判斷,只影響標(biāo)志位 TEST AL,20H ;取AL的D5位,6,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(3)邏輯運(yùn)算和移位( Logic / Shift ) 邏輯運(yùn)算指令應(yīng)用/ OR 實(shí)現(xiàn)兩操作時(shí)按位相“或” OR AX,BX ;AX和BX按位或,結(jié)果送AX 使某些位保持不變,其它位置1 OR AL,80H ;AL的D7位置1, 其余位保持不變 操作數(shù)不變,改變3個(gè)標(biāo)志位狀態(tài) OR BX
4、,BX ;CF=0,7,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(3)邏輯運(yùn)算和移位( Logic / Shift ) 邏輯運(yùn)算指令應(yīng)用/ XOR/NOT XOR指令通常用于將操作數(shù)的某些位取反 XOR AL,0FH ;AL的低4位取反,高4位保持不變 使某個(gè)寄存器清零 XOR AX, AX ;AX=0 NOT指令按位取反 MOV BX,8A51H ;BX=1000 1010 0101 0001 NOT BX ;BX=0111 0101 1010 1110 NOT指令中的操作數(shù)不能是立即數(shù),對(duì)標(biāo)志位無影響。,8,2020年12月22日星期二,3.5 8086/8088
5、指令系統(tǒng),(3)邏輯運(yùn)算和移位( Logic / Shift ) 移位指令 SAL/SHL SHL和SAL執(zhí)行相同的操作,每左移1位,左邊最高位進(jìn)入CF,右邊最低位補(bǔ)0 SAL OPRD,1 ;移1位 SHL OPRD,1 ;移1位 SAL OPRD,CL ;移2位或更多位時(shí),移動(dòng)位數(shù)放CL SHL OPRD,CL ;移2位或更多位時(shí),移動(dòng)位數(shù)放CL,9,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(3)邏輯運(yùn)算和移位( Logic / Shift ) 移位指令SAL/SHL 舉例 MOV AL, 42H ;AL=42H SHL AL, 1 ;AL=84H MOV AL,
6、 42H SAL AL, 1 ;發(fā)生溢出 對(duì)SHL/SAL,移動(dòng)1位時(shí),若移位之后,操作數(shù)最高位與CF狀態(tài)位不同,則OF=1,否則OF=0 對(duì)SAL,OF=1表示移位后發(fā)生了溢出,對(duì)SHL,不表示溢出,10,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(3)邏輯運(yùn)算和移位( Logic / Shift) 移位指令 SAR/SHR 對(duì)SHR,每右移1位,右邊最低位進(jìn)入CF,左邊最高位補(bǔ)0,移位后新的最高位和次高位不相等,則OF=1,否則OF=0,移位次數(shù)不為1時(shí),OF不定。 對(duì)SAR,每右移1位,右邊最低位進(jìn)入CF,最高位保持不變。 SAR/SHR OPRD,1 ;移1位
7、SAR/SHR OPRD,CL ;移2位或更多位時(shí),移動(dòng)位數(shù)放CL,11,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(3)邏輯運(yùn)算和移位( Logic / Shift ) 循環(huán)移位指令,ROL/ROR/RCL/RCR OPRD,1 ;移1位 ROL/ROR/RCL/RCR OPRD,CL ;移2位或更多位時(shí),移動(dòng)位數(shù)放CL,12,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),練習(xí) 將兩個(gè)非壓縮BCD碼(BL,AL)合并成壓縮BCD碼送AL。 MOV CL, 4 ;將計(jì)數(shù)值送CL SHL BL, CL ;將高位移到BL的高4位 AND AL, 0FH
8、;清零AL高4位 OR AL, BL ;合并AL和BL形成壓縮BCD碼 分析下面的程序段所實(shí)現(xiàn)的功能(可以用別的指令實(shí)現(xiàn)嗎) SHLAL,1 ; 將AL中數(shù)左移1位,得2X MOVBL,AL ; 2X保存在BL中 MOVCL,2 ; 移位次數(shù)置入CL中 SHLAL,CL ; 2X左移2位,得8X ADDAL,BL ; 2X加上8X,所以AL中為10X,Lets do it!,13,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(3)邏輯運(yùn)算和移位( Logic / Shift ) 小結(jié) AND、TEST、OR、XOR指令對(duì)標(biāo)志位的影響:固定使CF=OF=0;根據(jù)運(yùn)算結(jié)果改變
9、SF、ZF、PF。 NOT指令形式上只有一個(gè)操作數(shù);不影響任何標(biāo)志位。 SAL、SAR、SHL、SHR指令的使用方法相同,對(duì)標(biāo)志位的影響也相同:移出位給CF;根據(jù)結(jié)果改變SF、ZF、PF;當(dāng)移位次數(shù)為1時(shí),影響OF。 ROL、ROR、RCL、RCR的使用方法相同,對(duì)標(biāo)志位的影響相同:移出位給CF;當(dāng)移位次數(shù)為1時(shí),影響OF。 SHR/SAR每移1位,可視為分別將無符號(hào)數(shù)和帶符號(hào)數(shù)除以2;使用SHL/SAL每移1位,可視為將數(shù)值乘以2。,14,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(4)串操作(String manipulation) 串內(nèi)存中一段地址連續(xù)的字節(jié)或字存
10、儲(chǔ)單元。通常用于存放同一類數(shù)據(jù)。數(shù)據(jù)源:源串;數(shù)據(jù)結(jié)果:目的串。 串操作對(duì)串中各項(xiàng)進(jìn)行操作(傳送、比較、檢索、裝入、存儲(chǔ)),也叫數(shù)據(jù)塊操作。串操作指令是86/88實(shí)現(xiàn)內(nèi)存之間數(shù)據(jù)傳送的一組指令。 串操作重復(fù)前綴加在串操作指令之前,根據(jù)不同條件判斷是否重復(fù)執(zhí)行串操作。可以實(shí)現(xiàn)對(duì)整個(gè)串的同一種操作。,15,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),串操作示例,在同一個(gè)段內(nèi)實(shí)現(xiàn)字符串傳送時(shí),應(yīng)該設(shè)置DS和ES為同一數(shù)值,仍由SI和DI分別指出源串操作數(shù)和目的操作數(shù)的偏移地址。 串操作指令是唯一的一組源操作數(shù)和目的操作數(shù)都在存儲(chǔ)單元的指令。 方向標(biāo)志DF決定指針的修改方向 DF
11、 =0,指針加;DF =1,指針減。串元素的類型決定修改量字節(jié)串,指針加減1;字串,指針加/減2。 加有重復(fù)前綴時(shí),固定使用CX計(jì)錄并修改重復(fù)次數(shù),再根據(jù)CX值及標(biāo)志位ZF判斷是否重復(fù)進(jìn)行串操作。前綴本身不影響任何標(biāo)志位。,DS:SI默認(rèn)的源串指針,可段超越,ES:DI固定的目標(biāo)串指針,不允許段超越,DF,CX,16,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(4)串操作 串傳送 MOVS(Move string) MOVS D,S ; ES:DIDS:SI MOVSB (字節(jié)) ; SISI1,DIDI1, MOVSW (字) ; SISI2,DIDI2, REP C
12、LD, DF=0, SI/DI增加; STD, DF=1, SI/DI遞減 MOV單指令不能完成存儲(chǔ)單元之間的數(shù)據(jù)傳送; MOVS指令就是為解決 存儲(chǔ)單元之間數(shù)據(jù)傳送而設(shè)置的 MOVSB/MOVSW隱含了源、目的操作數(shù),17,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),練習(xí):重疊串操作 34H,0F2H,1CH,89H,76H,6BH,Lets do it!,SI,DI,STD; 設(shè)DF=1,6B,76,89,1C,F2,34,6B,76,89,1C,F2,34,X,X,MOV CX,6 ;串操作次數(shù),MOV SI, 1005 MOV DI, 1007 REP MOVSB
13、,4000H:1000H,4000H:1006H,4000H:1004H,4000H:1005H,4000H:1003H,4000H:1004H,4000H:1002H,4000H:1003H,4000H:1001H,4000H:1000H,4000H:1002H,18,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(4)串操作 CMPS(Compare string ) 串比較指令(與前綴REPZ連用) CMPS D,S ;ES:DI - DS:SI,結(jié)果不存,置標(biāo)志 CMPSB ; (字節(jié)) SI SI1,DIDI1 CMPSW ; (字) SI SI2,DIDI2 兩
14、數(shù)相減,只影響標(biāo)志,不影響操作數(shù),其它操作規(guī)定與MOVS同。 SCAS (Scan string ) 串掃描、搜索指令(與前綴REPNE連用) SCAS SCASB ;(字節(jié))ALES:DI,DIDI1 SCASW ;(字) AXES:DI,DIDI2 DI字符串起始地址,AL或AX 關(guān)鍵字 兩數(shù)相減, 只影響標(biāo)志, 不影響操作數(shù), 其它特性同MOVS,19,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(4)串操作 LODS(Load from string)讀串指令 LODS ;(字節(jié))AL DS:SI, SISI1 ;(字) AX DS: SI, SISI2 LODS
15、 B ;(字節(jié))AL DS: SI, SISI1 LODS W ;(字) AX DS: SI, SISI2 STOS(Store into string) 存入串指令 STOS ;(字節(jié)) ES:DIAL,DIDI1 ;(字) ES:DIAX,DIDI2 STOSB ;(字節(jié)) ES:DIAL,DIDI1 STOSW ;(字) ES:DIAX,DIDI2 與REP聯(lián)用時(shí),CX緩沖區(qū)長(zhǎng)度。用來建立一串相同的值,初始清零。,20,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(4)串操作 PRACTICE AND PROGRESS STOSB / LODSB Store a t
16、o 15 memory cells, with start address ES:DI 3000H:1230H, then load character again. CMPSB / SCASB Compare string aaA with aaa,check flag bit CF Search character a with china,check flag bit CF,Lets debugging !,21,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),控制轉(zhuǎn)移/處理器控制,22,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(5)控制轉(zhuǎn)移指
17、令 控制轉(zhuǎn)移指令對(duì)IP(或CS:IP)進(jìn)行強(qiáng)制性修改,只有一個(gè)操作數(shù),通過該操作數(shù)給出目標(biāo)地址新的IP(或CS:IP) 段內(nèi)轉(zhuǎn)移(CS不變,IP改變) ( IP)(IP)當(dāng)前+ OPR(DISP) 短轉(zhuǎn)移(short)相對(duì)偏移量為1字節(jié), 取值范圍-128+127,操作數(shù)為8位(正值向后跳轉(zhuǎn),負(fù)值向前跳轉(zhuǎn)) 近轉(zhuǎn)移(near)相對(duì)偏移量為1個(gè)字, 取值范圍-32768 +32767, 操作數(shù)為16位(正值向后跳轉(zhuǎn),負(fù)值向前跳轉(zhuǎn)) 段間轉(zhuǎn)移(CS改變,IP改變) 遠(yuǎn)轉(zhuǎn)移(far)目標(biāo)地址與正常順序IP值不在同一個(gè)代碼段內(nèi),23,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(
18、5)控制轉(zhuǎn)移指令/JMP 指令格式:JMP 目標(biāo)標(biāo)號(hào)(操作數(shù)/目標(biāo)地址) 操作數(shù)(目標(biāo)地址)的給出方式: 段內(nèi)直接給出:JMP (NEAR/SHORT) SUM0 IP=IP+SUM0 段內(nèi)間接給出:JMP AX / JMP WORD PTR BX IPAX / PA= DS X 10H+BX 段間直接給出:JMP FAR PTR BRCH / JMP 2101H:1234H CS BRCH 段地址, IP BARCH 偏移地址 段間間接給出:JMP DWORD PTR DI+1200H PA=DS X 10H + DI+200H IPDI+200H,DI+200H +1 CSDI+200H
19、+2, DI+200H +3,24,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(5)控制轉(zhuǎn)移指令/條件轉(zhuǎn)移 格式: 指令助記符 目標(biāo)地址OPRD (短標(biāo)號(hào)) 功能:根據(jù)當(dāng)前各標(biāo)志位狀態(tài)進(jìn)行判斷,如果滿足指令所指定的條件,則轉(zhuǎn)移至目標(biāo)地址處;否則順序執(zhí)行。 轉(zhuǎn)移范圍:只有短轉(zhuǎn)移,即相對(duì)位移量是一個(gè)8位的帶符號(hào)數(shù)(128127)。 尋址方式:IPIP當(dāng)前+ OPRD(D8) 正值表示向后跳轉(zhuǎn),負(fù)值表示向前跳轉(zhuǎn) (條件轉(zhuǎn)移指令為兩字節(jié)長(zhǎng)度,一字節(jié)為指令功能碼,一字節(jié)指令為一個(gè)字節(jié)的相對(duì)跳轉(zhuǎn)地址偏移量),25,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(
20、5)控制轉(zhuǎn)移指令/條件轉(zhuǎn)移,以單個(gè)狀態(tài)標(biāo)志作為轉(zhuǎn)移條件,以CX的值為0作為轉(zhuǎn)移條件,26,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),以兩個(gè)帶符號(hào)數(shù)比較的結(jié)果作為轉(zhuǎn)移條件,以兩個(gè)無符號(hào)數(shù)比較的結(jié)果作為轉(zhuǎn)移條件,27,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(5)控制轉(zhuǎn)移指令/LOOP 格式: LOOP 短標(biāo)號(hào) 功能:根據(jù)CX的值和ZF標(biāo)志判斷是否轉(zhuǎn)移。 尋址方式:相對(duì)尋址,只能實(shí)現(xiàn)短轉(zhuǎn)移。 指令本身不影響ZF!,28,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(5)控制轉(zhuǎn)移指令/過程調(diào)用 格式:CALL 過程名(即操作數(shù)/
21、目標(biāo)地址),與JMP的不同之處:有對(duì)應(yīng)的返回指令;必須保存斷點(diǎn),執(zhí)行過程與堆棧有關(guān)。,29,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(5)控制轉(zhuǎn)移指令/過程調(diào)用返回RET 格式:RET RET n 功能:從棧頂彈出1個(gè)字(段內(nèi)返回)或2個(gè)字(段間返回),作為返回地址(即斷點(diǎn))給IP或CS:IP;SP相應(yīng)加2或加4。 指令后跟8位立即數(shù),用以在恢復(fù)斷點(diǎn)后,在現(xiàn)行SP值上再加此數(shù),以釋放相應(yīng)數(shù)目的堆??臻g。 位于被調(diào)過程的末尾;必須與CALL指令成對(duì)使用!根據(jù)對(duì)應(yīng)的CALL指令轉(zhuǎn)移類型,自動(dòng)確定段內(nèi)/段間返回。,30,2020年12月22日星期二,3.5 8086/8088指令系統(tǒng),(5)控制轉(zhuǎn)移指令/中斷調(diào)用 格式: INT n ; n常數(shù)或表達(dá)式,n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)微型課題申報(bào)書范文
- 受托噴涂加工合同范本
- 個(gè)人買賣叉車合同范本
- 漢語語言課題申報(bào)書
- 青年課題申報(bào)書模板
- 課題醫(yī)學(xué)申報(bào)書
- 亮化出租維修合同范本
- 市級(jí)英語教研課題申報(bào)書
- 美術(shù)課題申報(bào)書范例
- 吟誦課題研究申報(bào)書
- 產(chǎn)品可靠性測(cè)試計(jì)劃
- 高等數(shù)學(xué)考研輔導(dǎo)課(一)學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫2023年
- 心理健康與職業(yè)生涯(中職)PPT完整全套教學(xué)課件
- 中國(guó)文藝美學(xué)要略·論著·《畫學(xué)心法問答》
- 公共藝術(shù)-音樂篇(中職公共藝術(shù))PPT完整版全套教學(xué)課件
- 高等教育自學(xué)考試轉(zhuǎn)考轉(zhuǎn)出登記表
- 舞臺(tái)搭建方面基礎(chǔ)知識(shí)
- 食品化學(xué)課件 ②食品化學(xué)緒論
- 小學(xué)六年級(jí)數(shù)學(xué)計(jì)算題100道(含答案)
- 【讀寫策略】回延安朗讀指導(dǎo)
- 孟氏骨折與蓋氏骨折
評(píng)論
0/150
提交評(píng)論