版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、8086指令系統(tǒng)(2)1精選ppt三、邏輯運算和移位類邏輯運算移位操作非循環(huán)移位循環(huán)移位2精選ppt邏輯運算和移位指令3精選ppt指令類型邏輯運算與,或,非,異或移位操作非循環(huán)移位,循環(huán)移位4精選ppt 一、邏輯運算邏輯運算指令對操作數(shù)的要求大多與MOV指令相同?!胺恰边\算指令要求操作數(shù)不能是立即數(shù);除“非”運算指令外,其余指令的執(zhí)行都會使標志位OF=CF=05精選ppt1.“與”指令:格式: AND OPRD1,OPRD2操作: 兩操作數(shù)相“與”,結(jié)果送目標地址。6精選ppt“與”指令的應(yīng)用實現(xiàn)兩操作數(shù)按位相與的運算AND BL,SI使目標操作數(shù)的某些位不變,某些位清零AND AL,0FH在
2、操作數(shù)不變的情況下使CF和OF清零AND AX,AX7精選ppt“與”指令應(yīng)用例從地址為3F8H的端口中讀入一個字節(jié)數(shù),如果該數(shù)的bit1位為1,則可從38FH端口將DATA為首地址的一個字輸出,否則就不能進行數(shù)據(jù)傳送。 編寫相應(yīng)的程序段。8精選ppt“與”指令應(yīng)用例開 始取待輸出數(shù)的偏移地址讀入狀態(tài)字測試bit1位狀態(tài)Bit1=1?取輸入口地址取輸出口地址 輸出一個字NY9精選ppt“與”指令應(yīng)用例 LEA SI,DATA MOV DX,3F8HWATT:IN AL,DX AND AL,02H JZ WATT ;ZF=1轉(zhuǎn)移 MOV DX,38FH MOV AX,SI OUT DX,AX10
3、精選ppt2.“或”運算指令格式: OR OPRD1,OPRD2操作: 兩操作數(shù)相“或”,結(jié)果送目標地址11精選ppt“或”指令的應(yīng)用實現(xiàn)兩操作數(shù)相“或”的運算OR AX,DI使某些位不變,某些位置“1”O(jiān)R CL,0FH在不改變操作數(shù)的情況下使OF=CF=0OR AX,AX12精選ppt“或”指令的應(yīng)用例 為了保證數(shù)據(jù)通信的可靠性,往往需要對傳送的ASCII碼數(shù)據(jù)進行校驗。校驗的方法之一就是使用奇偶校驗,偶校驗是使用傳送的ASCII碼中1的個數(shù)為偶數(shù),奇校驗則使1的個數(shù)為奇數(shù)。奇偶校驗位放在ASCII碼的最高位上。13精選ppt“或”指令的應(yīng)用例 OR AL,AL JPE GOON OR A
4、L,80H GOON:.PF=1轉(zhuǎn)移14精選ppt“或”指令的應(yīng)用將一個二進制數(shù)9變?yōu)樽址?如何實現(xiàn)?15精選ppt3.“非”運算指令格式:NOT OPRD操作:操作數(shù)按位取反再送回原地址注:指令中的操作數(shù)不能是立即數(shù)指令的執(zhí)行對標志位無影響例:NOT BYTE PTRBX16精選ppt4.“異或”運算指令格式: XOR OPRD1,OPRD2操作:兩操作數(shù)相“異或”,結(jié)果送目標地址例: XOR BL,80H XOR AX,AX兩操作數(shù)自身相異或,結(jié)果為零17精選ppt5.“測試”指令格式: TEST OPRD1,OPRD2操作: 執(zhí)行“與”運算,但運算的結(jié)果不送回目標地址。應(yīng)用:常用于測試某
5、些位的狀態(tài)18精選ppt例:從地址為3F8H的端口中讀入一個字節(jié)數(shù),當該數(shù)的bit1, bit3, bit5位同時為1時,可從38FH端口將DATA為首地址的一個字輸出,否則就不能進行數(shù)據(jù)傳送。 編寫相應(yīng)的程序段。19精選ppt源程序代碼: LEA SI,DATA MOV DX,3F8HWATT:IN AL,DX MOV DX,38FH MOV AX,SI OUT DX,AXAND AL,2AHCMP AL,2AHJNZ WATTTEST AL,02HJZ WATT ;ZF=1轉(zhuǎn)移TEST AL,08HJZ WATTTEST AL,20HJZ WATTAND AL,2AHXOR AL,2AHJ
6、NZ WATT20精選ppt二、移位指令 非循環(huán)移位指令 循環(huán)移位指令注: 移動一位時由指令直接給出; 移動兩位及以上,則移位次數(shù)由CL指定。21精選ppt1. 非循環(huán)移位指令邏輯左移算術(shù)左移邏輯右移算術(shù)右移22精選ppt算術(shù)左移和邏輯左移算術(shù)左移指令: SAL OPRD,1 SAL OPRD,CL邏輯左移指令: SHL OPRD,1 SHL OPRD,CL有符號數(shù)無符號數(shù)移動一位后,若CF與最高不相等,則OF=1;否則OF=023精選ppt邏輯右移格式: SHR OPRD,I SHR OPRD,CL0CF無符號數(shù)的右移移動一位后,若次高位與最高位不相等,則OF=1;否則OF=024精選ppt
7、邏輯右移例:MOV AL,68HMOV CL,2SHR AL,CL0CF0 1 1 0 1 0 AL0 0 0 0 0 1 1 0 1 0 0ALCF0 00 0 0 1 1 0 1 0 ALCF0 0移動1次移動2次25精選ppt算術(shù)右移格式: SAR OPRD,I SAR OPRD,CL有符號數(shù)的右移CF26精選ppt非循環(huán)移位指令的應(yīng)用左移可實現(xiàn)乘法運算右移可實現(xiàn)除法運算 27精選ppt2. 循環(huán)移位指令不帶進位位的循環(huán)移位帶進位位的循環(huán)移位左移 ROL右移 ROR左移 RCL右移 RCR指令格式、對操作數(shù)的要求與非循環(huán)移位指令相同28精選ppt不帶進位位的循環(huán)移位CFCF29精選ppt
8、帶進位位的循環(huán)移位CFCF30精選ppt循環(huán)移位指令的應(yīng)用用于對某些位狀態(tài)的測試;高位部分和低位部分的交換;與非循環(huán)移位指令一起組成32位或更長字長數(shù)的移位。31精選ppt程序例 MOV SI,1000H MOV DI,3000H MOV CX,4BBB:MOV AL,SI MOV BL,AL AND AL,0FH OR AL,30H MOV DI,AL INC DI MOV AL,BLPUSH CXMOV CL,4SHR AL,CLOR AL,30HMOV DI,ALINC DIINC SIPOP CXDEC CXJNZ BBBHLT程序功能?32精選ppt程序功能將1000H開始存放的四個
9、壓縮BCD碼轉(zhuǎn)換為ASCII碼存放在3000H開始的單元中去。12H34H56H78H1000H3000H33精選ppt例:計算2658+3619=? 結(jié)果存放在SUM單元說明:被加數(shù)和加數(shù)的每一位都以ASCII碼形式存放在內(nèi)存中,低位在前,高位在后。36H32H39H31HSTRING1STRING238H35H36H33H數(shù)據(jù)段SUM.34精選ppt代碼1 LEA SI,STRING1 ;取偏移地址 LEA DI,STRING2 LEA BX,SUM MOV CH,4 ;設(shè)循環(huán)次數(shù) CLC ;使CF清零A:AND BYTE PTRSI,0FH ;將ASCII轉(zhuǎn)換為二進制數(shù) AND BYTE
10、 PTRDI,0FH MOV AL,SI ;兩字節(jié)數(shù)求和 ADC AL,DI35精選ppt代碼1(續(xù))MOV DL,AL AND AL,0FHOR AL,30HMOV BX,ALINC BXMOV AL,DLMOV CL,4SHR AL,CLOR AL,30HMOV BX,ALINC SIINC DIINC BXDEC CH JNZ AHLT36精選ppt代碼2 LEA SI,STRING1 LEA DI,STRING2 LEA BX,SUM MOV CX,4 CLCNEXT:MOV AL,SI ADC AL,DI AAA MOV BX,ALINC SIINC DIINC BXDEC CXJN
11、Z NEXTHLT37精選ppt串操作指令38精選ppt串操作指令說明針對數(shù)據(jù)塊或字符串的操作;可實現(xiàn)存儲器到存儲器的數(shù)據(jù)傳送;待操作的數(shù)據(jù)串稱為源串,目標地址稱為目標串。39精選ppt串操作指令的特點源串一般存放在數(shù)據(jù)段,偏移地址由SI指定。允許段重設(shè);目標串必須在附加段,偏移地址由DI指定;指令自動修改地址指針,修改方向由DF決定。 DF=0 DF=1數(shù)據(jù)塊長度值由CX指定可增加自動重復(fù)前綴以實現(xiàn)自動修改CX內(nèi)容。增地址方向;減地址方向;40精選ppt重復(fù)前綴無條件重復(fù)REP條件重復(fù)REPE 相等重復(fù)REPZ 為零重復(fù)REPNE 不相等重復(fù)REPNZ 不為零重復(fù)CX0 ZF=1CX0 ZF
12、=0CX0 重復(fù)41精選ppt串操作指令流程取源串地址取目標串地址設(shè)串長度傳送一個字節(jié)或字修改地址指針修改串長度值傳送完否?NY設(shè)操作方向42精選ppt串操作指令串傳送 MOVS串比較 CMPS串掃描 SCAS串裝入 LODS串送存 STOS43精選ppt1. 串傳送指令格式: MOVS OPRD1,OPRD2 MOVSB MOVSW串傳送指令常與無條件重復(fù)前綴連用44精選ppt串傳送指令對比用MOV指令和MOVS指令實現(xiàn)將200個字節(jié)數(shù)據(jù)從內(nèi)存的一個區(qū)域送到另一個區(qū)域的程序段。45精選ppt串傳送指令例用串傳送指令實現(xiàn)200個字節(jié)數(shù)據(jù)的傳送: LEA SI,MEM1 LEA DI,MEM2
13、MOV CX,200 CLD REP MOVSB HLT46精選ppt2. 串比較指令格式: CMPS OPRD1,OPRD2 CMPSB CMPSW串比較指令常與條件重復(fù)前綴連用,指令的執(zhí) 行不改變操作數(shù),僅影響標志位。前綴的操作對標志位不影響47精選ppt串比較指令例測試200個字節(jié)數(shù)據(jù)是否傳送正確:LEA SI,MEM1LEA DI,MEM2MOV CX,200CLD REPE CMPSB TEST CX,00FFH JZ STOP DEC SI MOV AL,SI MOV BX,SISTOP:HLT 48精選ppt3. 串掃描指令格式: SCAS OPRD SCASB SCASW執(zhí)行與
14、CMPS指令相似的操作,只是這里的源 操作數(shù)是AX或AL目 標操作數(shù)49精選ppt串掃描指令的應(yīng)用常用于在指定存儲區(qū)域中尋找某個關(guān)鍵字。50精選ppt串裝入指令格式: LODS OPRD LODSB LODSW操作:對字節(jié): AL對 字: AX源操作數(shù)DS:SIDS:SI51精選ppt4. 串裝入指令用于將內(nèi)存某個區(qū)域的數(shù)據(jù)串依次裝入累加器,以便顯示或輸出到接口。LODS指令一般不加重復(fù)前綴。52精選ppt5. 串存儲指令格式: STOS OPRD STOSB STOSW操作:對字節(jié): AL對 字: AX目 標操作數(shù)ES:DIES:DI53精選ppt串存儲指令例 內(nèi)存某個區(qū)域清零設(shè)計思想: 區(qū)
15、域首地址送ES:DI串長度送CX置方向標志DF0送累加器AL執(zhí)行串送存指令p13254精選ppt程序控制指令轉(zhuǎn)移指令循環(huán)控制過程調(diào)用中斷控制55精選ppt一、轉(zhuǎn)移指令無條件轉(zhuǎn)移指令 無條件轉(zhuǎn)移到目標地址,執(zhí)行新的指令有條件轉(zhuǎn)移指令 在具備一定條件的情況下轉(zhuǎn)移到目標地址通過修改指令的偏移地址或段地址及偏移地址實現(xiàn)程序的轉(zhuǎn)移56精選ppt1. 無條件轉(zhuǎn)移指令格式: JMP OPRD目標地址與JMP在同一代碼段與JMP不在同一代碼段原則上可實現(xiàn)在整個內(nèi)存空間的轉(zhuǎn)移57精選ppt無條件段內(nèi)轉(zhuǎn)移轉(zhuǎn)移的目標地址在當前代碼段內(nèi),段地址不改變。即:目標地址是16位偏移地址。指令中直接給出目標地址由指令中的寄存
16、器或存儲器操作數(shù)指出目標地址段內(nèi)直接轉(zhuǎn)移段內(nèi)間接轉(zhuǎn)移58精選ppt段內(nèi)直接轉(zhuǎn)移段內(nèi)直接轉(zhuǎn)移轉(zhuǎn)移的目標地址由指令直接給出格式:JMP Label近地址標號59精選ppt段內(nèi)直接轉(zhuǎn)移示圖JMPLabel代碼段位移量下一條要執(zhí)行指令的偏移地址=當前IP+位移量60精選ppt段內(nèi)間接轉(zhuǎn)移段內(nèi)間接轉(zhuǎn)移轉(zhuǎn)移的目標地址存放在某個16位寄存器或存儲器 的某兩個單元中例:JMP BX若:BX=1200H則:轉(zhuǎn)移的目標地址=1200HJMP代碼段1200HMOV61精選ppt段內(nèi)間接轉(zhuǎn)移例JMP WORD PTRBX 設(shè):BX=1200HJMP代碼段數(shù)據(jù)段BX=1200XXHXXHIP指令碼62精選ppt無條件段
17、間轉(zhuǎn)移轉(zhuǎn)移的目標地址不在當前代碼段內(nèi)。目標地址為32位,包括段地址和偏移地址。指令中直接給出目標地址由指令中的32位存儲器操作數(shù)指出目標地址段間直接轉(zhuǎn)移段間間接轉(zhuǎn)移63精選ppt段間直接轉(zhuǎn)移段內(nèi)直接轉(zhuǎn)移轉(zhuǎn)移的目標地址由指令直接給出格式:JMP FAR Label遠地址標號64精選ppt段間直接轉(zhuǎn)移示圖JMPLabel代碼段1Label與JMP之間的位移量代碼段2XXHXXHXXHXXHIPCS65精選ppt段間間接轉(zhuǎn)移段內(nèi)間接尋址轉(zhuǎn)移的目標地址由指令中的32位操作數(shù)給出 例:JMP DWORD PTRBXXXHXXHXXHXXHBXIPCSJMP指令碼代碼段1代碼段2數(shù)據(jù)段66精選ppt2.
18、條件轉(zhuǎn)移指令在滿足一定條件下,程序轉(zhuǎn)移到目標地址繼續(xù)執(zhí)行條件轉(zhuǎn)移指令均為段內(nèi)短轉(zhuǎn)移,即轉(zhuǎn)移 范圍為: -128-+127p13667精選ppt條件轉(zhuǎn)移指令的應(yīng)用幾種條件轉(zhuǎn)移指令的應(yīng)用68精選ppt轉(zhuǎn)移指令例統(tǒng)計內(nèi)存數(shù)據(jù)段中以TABLE為首地址的100個8位符號數(shù)中正數(shù)、負數(shù)和零元數(shù)的個數(shù)。69精選ppt轉(zhuǎn)移指令例(流程圖)將存放各元素個數(shù)的單元清零取首地址設(shè)串長度取一個字節(jié)數(shù)正數(shù)個數(shù)加1零元素加1為負?為零?負數(shù)個數(shù)加1NYNYp14470精選ppt二、循環(huán)控制指令循環(huán)范圍:以當前IP為中心的-128+127范圍內(nèi)循環(huán)。循環(huán)次數(shù)由CX寄存器指定。循環(huán)指令:LOOP *LOOPZ *LOOPNZ
19、無條件循環(huán)指令條件循環(huán)指令71精選ppt無條件循環(huán)指令格式: LOOP LABEL循環(huán)條件: CX 0操作: DEC CX JNZ 符號地址72精選ppt條件循環(huán)指令格式: LOOPZ LABEL LOOPE LABEL循環(huán)條件: CX 0 ZF=1格式: LOOPNZ LABEL LOOPNE LABEL循環(huán)條件: CX 0 ZF=073精選ppt三、過程調(diào)用和返回用于調(diào)用一個子過程;子過程由程序員預(yù)先設(shè)計 并裝入內(nèi)存 子過程執(zhí)行結(jié)束后要返回 原調(diào)用處調(diào)用程序斷點入口地址入口地址斷點地址子程序74精選ppt調(diào)用指令的執(zhí)行過程保護斷點;將調(diào)用指令的下一條指令的地址(斷點)壓入堆棧獲取子過程的入
20、口地址;子過程第1條指令的偏移地址執(zhí)行子過程,含相應(yīng)參數(shù)的保存及恢復(fù);恢復(fù)斷點,返回原程序。將斷點偏移地址由堆棧彈出75精選ppt過程調(diào)用段內(nèi)調(diào)用段間調(diào)用段內(nèi)直接調(diào)用段內(nèi)間接調(diào)用段間直接調(diào)用段間間接調(diào)用76精選ppt1. 段內(nèi)調(diào)用被調(diào)用程序與調(diào)用程序在同一代碼段調(diào)用前只需保護斷點的偏移地址格式: CALL NEAR PROC執(zhí)行過程:近過程名代碼段1調(diào)用程序被調(diào)用程序代碼段1 將斷點的偏移地址壓入堆棧 根據(jù)過程名找子程序入口77精選ppt段內(nèi)調(diào)用例(1)CALL TIMRE(2)CALL WORD PTRSI直接調(diào)用間接調(diào)用44H33HCALL代碼段數(shù)據(jù)段設(shè):SI=1200H CS=6000H
21、1200H執(zhí)行第(2)條指令后:6000HCS =3344HIP =78精選ppt2. 段間調(diào)用子過程與原調(diào)用程序不在同一代碼段先將斷點的CS壓棧,再壓入IP。調(diào)用前需保護斷點的段基地址和偏移地址79精選ppt段間調(diào)用例格式: CALL FAR PROC格式例:CALL FAR TIMRECALL DWORD PTRSIXXHXXHCALL代碼段數(shù)據(jù)段SIXXHXXHCSIP80精選ppt3. 返回指令功能:從堆棧中彈出斷點地址,返回原程序格式: RETRET指令一般位于子程序的最后。81精選ppt四、中斷指令中斷中斷源中斷的類型中斷指令引起CPU產(chǎn)生一次中斷的指令82精選ppt中斷與過程調(diào)用:中斷是隨機事件或異常事件引起,調(diào)用則是事 先已在程序中安排好 ; 響應(yīng)中斷請求不僅要保護斷點地址,還要保護 FLAGS內(nèi)容;調(diào)用指令在指令中直接給出子程序入口地址, 中斷指令只給出中斷向量碼,入口地址則在向 量碼指向的內(nèi)存單元中。83精選ppt1. 中斷指令格式: INT n說明: n4中斷類型碼n=0 255n 4 XXHXXHXXHXXH入口的偏移地址入口的段地址存放中斷服務(wù)子程序入口地址的單元的偏移地址代碼段數(shù)據(jù)段該單元在數(shù)據(jù)段,段地址=DS84精選ppt中斷指令的執(zhí)行過程將
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025下半年四川省自貢市大安區(qū)事業(yè)單位招聘50人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川內(nèi)江威遠縣考試招聘衛(wèi)生健康事業(yè)單位工作人員90人高頻重點提升(共500題)附帶答案詳解
- 2025上海司法局事業(yè)單位招聘9人歷年高頻重點提升(共500題)附帶答案詳解
- 2025上半年福建福鼎事業(yè)單位招聘245人歷年高頻重點提升(共500題)附帶答案詳解
- 2025上半年四川省政府直屬部分事業(yè)單位招聘546人高頻重點提升(共500題)附帶答案詳解
- 2025上半年四川廣元旺蒼縣事業(yè)單位考試招聘25人高頻重點提升(共500題)附帶答案詳解
- 2025《中國能源報》社限公司招聘11人高頻重點提升(共500題)附帶答案詳解
- 醫(yī)療設(shè)備賠償協(xié)議
- 建筑項目班組施工合同
- 醫(yī)藥招投標中的誠信體系建設(shè)
- 河南省鄭州市2023-2024學年高二上學期期末考試歷史試題(解析版)
- 遼寧省沈陽市沈河區(qū)2024-2025學年九年級上學期期末道德與法治試題(含答案)
- 2024年獨家:國際商標授權(quán)使用合同
- 2024年農(nóng)行農(nóng)業(yè)用途個人貸款抵押合同樣本3篇
- 2024年瀝青攪拌站建設(shè)及設(shè)備供應(yīng)協(xié)議版
- 遼寧省部分高中2023-2024學年高二上學期期末考試 物理 含解析
- 江西省贛州市南康區(qū)2023-2024學年八年級上學期期末考試數(shù)學試卷(含答案)
- 2024年《檔案工作實務(wù)》考試復(fù)習題庫400題(含答案)
- 設(shè)計質(zhì)量工程師(DQE)的角色認知及工作職責
- 2024項目經(jīng)理講安全課
- 烤腸銷售合同范例
評論
0/150
提交評論