




已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
復(fù)習(xí),數(shù)據(jù)傳送類指令算術(shù)運(yùn)算類指令邏輯操作類指令,主要內(nèi)容,字符串操作指令控制轉(zhuǎn)移指令處理器控制指令電地暖,包括:MOVS、LODS、STOS、CMPS、SCAS(傳送)(?。ù妫ū容^)(搜索)共同點(diǎn):源串DS:SI目的串ES:DI完成一次字符處理后,自動修改指針,用DF規(guī)定串處理方向:DF=0:SI、DI增1(字節(jié)串)、2(字串)DF=1:SI、DI減1(字節(jié)串)、2(字串),字符串操作類,指令格式:MOVS目的串,源串目的串、源串僅用于說明傳送的是字節(jié)、字,因此可使用代替符而省去目的串、源串代替符:MOVSB/MOVSW(不帶操作數(shù))B:字節(jié)W:字指令功能:將源串中一個字節(jié)或字傳送到目的串中,并修改指針,指向串中的下一個元素:ES:DIDS:SI(DI)(DI)1、2(SI)(SI)1、2,MOVS串傳送指令,重復(fù)前綴REP(Repeat)的功能:如果(CX)=0,則完成REP操作,跳出循環(huán);CX的值減1;執(zhí)行一次串操作指令;轉(zhuǎn)到第一步重復(fù)REP操作。例:將源串復(fù)制到目的串(串長為100):,MOVSI,offsetSOURCEMOVDI,offsetDESTMOVCX,100CLDREPMOVSB,MOVSI,offsetSOURCEMOVDI,offsetDESTMOVCX,100CLDCOPY:MOVAL,SIMOVDI,ALINCSIINCDIDECCXJNZCOPY,等價于,MOVS和REP,指令格式:LODS源串;代替符:LODSB/LODSWSTOS目的串;代替符:STOSB/STOSW指令功能:LODS:將源串中一個字節(jié)、字傳送到AL/AX,并修改指針:(AL)DS:SI(SI)(SI)1、2STDS:將累加器AL/AX傳送到目的串中,并修改指針:ES:DI(AL)(DI)(DI)1、2,串元素的取存指令LODS和STOS,指令格式:CMPS目的串,源串代替符:CMPSB/CMPSW指令功能:將源串和目的串中的字節(jié)、字進(jìn)行CMP操作,并修改指針:DS:SI-ES:DI,影響標(biāo)志位,不保存結(jié)果(DI)(DI)1、2(SI)(SI)1、2對標(biāo)志寄存器的影響:影響OF、SF、ZF、AF、PF、CF,CMPS串比較指令,前綴REPE/REPZ的功能:當(dāng)串未結(jié)尾(CX0)且串相等(ZF=1)時繼續(xù)比較。如果(CX)=0,則完成REPE/REPZ操作,跳出循環(huán);CX的值減1;執(zhí)行一次串操作指令;如果零標(biāo)志位Z=1,則轉(zhuǎn)回第一步;如果Z=0,則完成REPE/REPZ操作,跳出循環(huán)。例:比較兩個串是否相同:MOVSI,offsetSOURCEMOVDI,offsetDESTMOVCX,100REPECMPSW;重復(fù)比較JNZDIFF;如果Z=0,說明兩個串中有某個字不相同;否則,兩個串相同,CMPS和REPE/REPZ指令,指令格式:SCAS目的串代替符:SCASB/SCASW指令功能:比較AL/AX與目的串中元素(字節(jié)或字)的大小,并修改指針:CMPAL/AX,ES:DI,影響標(biāo)志位(DI)(DI)1、2對標(biāo)志寄存器的影響:影響OF、SF、ZF、AF、PF、CF,SCAS串搜索指令,REPNE/REPNZ的功能:當(dāng)串未結(jié)尾(CX0)且串元素與累加器內(nèi)容不相同(ZF=0)時繼續(xù)搜索,直到CX=0或ZF=1才執(zhí)行下一條指令。如果(CX)=0,則完成REPNE/REPNZ操作,跳出循環(huán);CX的值減1;執(zhí)行一次串操作指令;如果零標(biāo)志位Z=0,則轉(zhuǎn)回第一步;如果Z=1,則完成REPNE/REPNZ操作,跳出循環(huán)。例:查找串中是否含有元素0FFH:MOVDI,offsetDESTMOVCX,100;串長為100MOVAL,0FFH;搜索的元素REPNESCASB;不相等時繼續(xù)搜索下一個字節(jié)JNEERR;如果找不到(AL),則進(jìn)行出錯處理;已找到(AL),SCAS和REPE/REPZ指令,SCAS指令舉例,例:搜索某一數(shù)據(jù)塊BLOCK中是否有關(guān)鍵字KEY?若有,把搜索次數(shù)記下來(若次數(shù)為0,表示未搜索到關(guān)鍵字),且記錄下存放關(guān)鍵字的地址。(設(shè)BLOCK在附加段):MOVDI,offsetBLOCK;設(shè)定數(shù)據(jù)塊的地址指針MOVCX,COUNT;數(shù)據(jù)塊長度設(shè)在CX中MOVAL,KEY;將關(guān)鍵字送入ALCLD;設(shè)置方向標(biāo)志DF=0REPNESCASB;ZF=0繼續(xù)搜索,ZF=1搜索到了JZFOUNDMOVDI,0;串結(jié)束且不相等,即找不到KEY,0DIJMPDONEFOUND:DECDI;DI-1MOVPOINTR,DI;保存關(guān)鍵字地址到POINTR單元MOVBX,offsetBLOCKSUBDI,BXINCDI;找到KEY,DI中為搜索次數(shù)DONE:HLT;停機(jī),轉(zhuǎn)移指令:無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令循環(huán)指令:LOOP、LOOPE/LOOPZ、LOOPNE/LOOPNZ調(diào)用返回指令:CALL、RET中斷指令:INT、INTO、IRET,控制轉(zhuǎn)移類,JMP指令格式:直接轉(zhuǎn)移方式:JMP目標(biāo)標(biāo)號指令功能:控制程序無條件地轉(zhuǎn)移到目標(biāo)單元指令用法:段內(nèi)轉(zhuǎn)移方式段間轉(zhuǎn)移方式,轉(zhuǎn)移指令,指令格式:Jcc目標(biāo)標(biāo)號cc:轉(zhuǎn)移條件目標(biāo)標(biāo)號:8086:只能是短程轉(zhuǎn)移,轉(zhuǎn)移位移量:-128+127指令功能:根據(jù)當(dāng)前標(biāo)志寄存器或計(jì)數(shù)寄存器器CX的狀態(tài),決定是否轉(zhuǎn)移對標(biāo)志寄存器的影響:條件轉(zhuǎn)移指令對標(biāo)志寄存器不產(chǎn)生影響,條件轉(zhuǎn)移指令,無符號數(shù)比較大?。簳r轉(zhuǎn)移:JA/JNBE轉(zhuǎn)移條件:C=0且Z=0時轉(zhuǎn)移:JAE/JNB/JNC轉(zhuǎn)移條件:C=0時轉(zhuǎn)移:JB/JNAE/JC轉(zhuǎn)移條件:C=1時轉(zhuǎn)移:JBE/JNA轉(zhuǎn)移條件:C=1或Z=1A:Above,大;B:Below,??;E:Equal,等;N:Not,非對無符號數(shù):CF:“0”說明“”;“1”說明“時轉(zhuǎn)移:JG/JNLE時轉(zhuǎn)移:JGE/JNL時轉(zhuǎn)移:JL/JNGE時轉(zhuǎn)移:JLE/JNG指令中:G:Greater,大;L:Less,小;E:Equal,等;N:Not,非,條件轉(zhuǎn)移指令,判斷是否相等=時轉(zhuǎn)移:JE/JZ(轉(zhuǎn)移條件:ZF=1)時轉(zhuǎn)移:JNE/JNZ(轉(zhuǎn)移條件:ZF=0)判斷是否溢出溢出時轉(zhuǎn)移:JO(轉(zhuǎn)移條件:OF=1)不溢出時轉(zhuǎn)移:JNO(轉(zhuǎn)移條件:OF=0)判斷奇偶狀態(tài)偶狀態(tài)時轉(zhuǎn)移:JP/JPE(轉(zhuǎn)移條件:PF=1)奇狀態(tài)時轉(zhuǎn)移:JNP/JPO(轉(zhuǎn)移條件:PF=0),條件轉(zhuǎn)移指令,判斷符號位符號位為1時轉(zhuǎn)移:JS(轉(zhuǎn)移條件:S=1)符號位為0時轉(zhuǎn)移:JNS(轉(zhuǎn)移條件:S=0)判斷CX/ECX是否為0CX=0時轉(zhuǎn)移:JCXZ轉(zhuǎn)移條件:CX=0,條件轉(zhuǎn)移指令,LOOP指令格式:LOOP標(biāo)號指令功能:控制循環(huán),以CX為遞減計(jì)數(shù)器,CX的值減1CX=0嗎?若CX=0:結(jié)束循環(huán),執(zhí)行下一條指令若CX0:跳轉(zhuǎn)到標(biāo)號處LOOPAGAINDECCXJNZAGAIN,等價,循環(huán)指令,循環(huán)指令舉例,例:用循環(huán)實(shí)現(xiàn)軟件延時MOVCX,0F000H;置循環(huán)初值NEXT:NOP;空操作F000H次,產(chǎn)生延時LOOPNEXTLOOPE/LOOPZ指令:使CX自減1,若CX0且ZF=1,則循環(huán)轉(zhuǎn)移至目標(biāo)標(biāo)號。LOOPNE/LOOPNZ指令:使CX自減1,若CX0且ZF=0,則循環(huán)轉(zhuǎn)移至目標(biāo)標(biāo)號。,指令功能:CALL:過程調(diào)用指令格式:CALL子程序名/目標(biāo)地址RET:過程返回指令格式:RET若是段內(nèi)調(diào)用,只需將斷點(diǎn)處IP的值放在堆棧中保存;若是段間調(diào)用,則需將斷點(diǎn)處CS和IP的值都放入堆棧中保存。,調(diào)用、返回指令,指令格式:INTn;n為8位中斷類型號指令功能:引起中斷類型號為n的中斷:PUSHF;清除標(biāo)志寄存器中的中斷允許標(biāo)志IF和追蹤標(biāo)志TF,以屏蔽中斷,禁止追蹤方式;把當(dāng)前的CS、IP先后壓入棧中(SP減4),以保留斷點(diǎn);以段間間接調(diào)用的方式調(diào)用中斷程序,即n4IP,n4+2CSINTO為溢出中斷指令,是INT的特例。,中斷指令I(lǐng)NT(Interrupt),指令格式:IRET指令功能:用在中斷程序的最后,用于返回主程序:IP出棧,SP+2;CS出棧,SP再+2;標(biāo)志寄存器FLAGS出棧,SP再+2,中斷返回指令,標(biāo)志操作指令:CLC、STC、CMC、CLD、STD、CLI、STI其他處理器控制指令:NOP、HLT,處理器控制類,指令功能:修改進(jìn)位標(biāo)志CF、方向標(biāo)志DF或中斷允許標(biāo)志IF:修改進(jìn)位標(biāo)志CFCLC:CF=0STC:CF=1CMC:CF取反修改方向標(biāo)志DFCLD:DF=0STD:DF=1修改中斷允許標(biāo)志IFCLI:IF=0STI:IF=1,標(biāo)志位操作指令,(1)NOP(NoOperation
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 品評白酒面試題及答案
- 傷口評估與記錄試題及答案
- 工裝與工位器具管理制度
- 小兒喉異物的護(hù)理
- 暑假體育培訓(xùn)
- 2025年中國帕德爾球行業(yè)市場全景分析及前景機(jī)遇研判報(bào)告
- 指骨骨折病人護(hù)理常規(guī)
- 重癥哮喘病例討論與治療策略
- 終末期患者的心理護(hù)理與安寧療護(hù)實(shí)踐
- 基于新媒體環(huán)境下地方非物質(zhì)文化遺產(chǎn)的傳承
- 2024年荊州市江北地區(qū)檢察院招聘檢察輔助人員筆試真題
- 2025年高考真題-語文(北京卷) 含答案
- 預(yù)防慢性病與健康生活指南
- 山西焦煤集團(tuán)筆試題
- 星期音樂會智慧樹知到期末考試答案章節(jié)答案2024年同濟(jì)大學(xué)
- 救護(hù)車注冊登記審批表
- 口腔頜面部手術(shù)的麻醉PPT學(xué)習(xí)教案
- 平衡與協(xié)調(diào)訓(xùn)練PPT課件
- 年普通高校(中專招生考生體格檢查表
- PEP英語(四下)-Unit-1-My-school--A-let's-learn教學(xué)反思
評論
0/150
提交評論