版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、3.4.4指令分類、指令分類、一個數(shù)據(jù)傳輸指令、兩個算術(shù)運(yùn)算指令、三個邏輯運(yùn)算和移位周期指令、四個系列運(yùn)算指令、五個程序控制指令、六個處理器控制指令、一個數(shù)據(jù)傳輸指令、一個通用數(shù)據(jù)傳輸、兩個目標(biāo)地址傳輸、三個標(biāo)志位傳輸和四個輸入輸出數(shù)據(jù)傳輸。數(shù)據(jù)傳輸指令可以完成寄存器、寄存器和存儲器以及寄存器和輸入輸出端口之間的字節(jié)或字傳輸。它們的共同特點(diǎn)如下:這種教學(xué)可分為四種類型。特性:不影響標(biāo)志寄存器,1。通用數(shù)據(jù)傳輸指令,MOV目標(biāo)操作數(shù),源操作數(shù),函數(shù):(源)(目標(biāo)),movs,dxmovax,bxmovdi,axmovcx,1000hmovdx,5040h movword ptrbx2000h,1
2、2ABH,例如:1)源操作不允許目標(biāo)操作數(shù)是一個立即數(shù),其他操作數(shù)是同一個源。源和目標(biāo)不能同時是內(nèi)存操作數(shù)。2)源和目標(biāo)操作數(shù)類型必須匹配,例如,MOV字節(jié)PTR BX,12H 3)立即數(shù)不能寫入段寄存器,例如,MOV AX,2000 MOV DS,AX 4)所有以CS為目標(biāo)的傳輸指令都是非法的,5)標(biāo)志位不受影響,描述:推源,函數(shù):推,推軸推字PTR SI 4,彈出目的,函數(shù):堆棧,彈出軸彈出字PTR SI 5,例如:例如,1)指令的操作數(shù)必須是16位。2)操作數(shù)可以是寄存器或存儲器,但不能是立即數(shù)。3)一個字不能從棧頂彈出到CS 4)PUSH和POP指令一般成對出現(xiàn)在程序中5)PUSH指令
3、的操作方向是從高地址到低地址,而POP指令的操作方向正好相反。堆棧操作描述:XCHG目的,源,函數(shù):該指令交換源和目標(biāo)的值。1)兩個操作數(shù)之一必須在寄存器中。2)數(shù)據(jù)可以在寄存器之間或寄存器與存儲器之間交換。兩個存儲單元之間不允許交換。3)不允許分段注冊;4)兩個操作數(shù)長度相等,可以是字或字節(jié)。描述:示例:1 XCHG AL,BL;CX BX XCHG 2的A1和B1之間的字節(jié)交換;BX和CX之間的單詞交換是3xchg2530h,CX被設(shè)置為(DS)2000H,(22530H)88H,(22531H)66H。指令執(zhí)行后,(CX)=6688H,XLAT,一個編碼表示被轉(zhuǎn)換成另一個編碼表示。它可以
4、將累加器中的一個值轉(zhuǎn)換成存儲表中的一個值,一般用于實(shí)現(xiàn)編碼系統(tǒng)的轉(zhuǎn)換。XLAT指令需要在使用前將編碼表的第一個地址加載到BX,并將表的索引值加載到a1,索引值為0-255。當(dāng)指令被執(zhí)行時,BX和A1中的值將被相加,并且所獲得的值將被作為地址,然后對應(yīng)于該地址的單元中的值將被作為A1。假設(shè)(DS)=A000H表的起始地址是ASCII碼,在A0010H表中數(shù)字為0-9、a000: 0010 30h、31h、a000: 0016 36h,例如MOV BX、0010H MOV AL、06h xlat、AL、36h,可用于傳輸操作數(shù)的段地址或偏移地址包括以下三個指令:1)、取有效地址指令2)、加載指向d
5、s和另一個寄存器指令的地址指針3)、加載指向es和另一個寄存器指令的地址指針、LEA目的、源和功能:將源操作數(shù)的偏移地址轉(zhuǎn)移到目的操作數(shù)。LEA指令中的目標(biāo)操作數(shù)必須是16位通用存儲器。例如:LEA SP,0428H使堆棧指針成為SP 0482H LEABX。如果(BX)=1000小時和(二進(jìn)制)=0200小時,在BX二進(jìn)制6指令執(zhí)行之前,(二進(jìn)制)=1206小時,在指令執(zhí)行之后,LDS目的,源,函數(shù):將源操作數(shù)指定的4個連續(xù)字節(jié)轉(zhuǎn)移到目標(biāo)操作數(shù)和目標(biāo)操作數(shù)。在傳輸期間,低2字節(jié)加載目標(biāo)操作數(shù),高2字節(jié)加載直接序列。例如:LDS DI,2130H,例如,LDS DI,1200H MOV AX,
6、DI,12h,34h,00H,60h,1200H,數(shù)據(jù)段1,(1) LAHF函數(shù):將標(biāo)志寄存器FR的低字節(jié)傳送到AH (2) SAHF函數(shù):將AH寄存器的內(nèi)容傳送到標(biāo)志寄存器FR的低字節(jié)(3) PUSHF函數(shù):首先將SP的值減少2,然后將16位的FR放在堆棧上(4) POPF函數(shù):將當(dāng)前堆棧頂部和第二個堆棧頂部的數(shù)據(jù)彈出到FR,然后將SP的值加上2,指向新的堆棧頂部3。標(biāo)志位傳送指令,1)上述指令的累加器可以是A1或AX,2)當(dāng)端口地址在0255之間時,可以使用立即尋址模式,否則,應(yīng)該先將端口地址放入DX,然后再使用間接尋址模式。(1)輸入累加器,端口地址(2)輸出端口地址,累加器,例如:輸入
7、A1,20H MOV DX,0AB4H;請注意,字母不能是第一個輸入輸出數(shù)據(jù)傳輸指令,描述:兩個算術(shù)運(yùn)算指令,運(yùn)算數(shù)據(jù)類型及其對標(biāo)志位的影響,(1)數(shù)據(jù)類型,(2)運(yùn)算對標(biāo)志位的影響,其對標(biāo)志位的影響:當(dāng)無符號數(shù)運(yùn)算結(jié)果溢出時,所有算術(shù)運(yùn)算指令都會影響狀態(tài)標(biāo)志CF,PF,AF,ZF,SF和OF,CF=1當(dāng)有符號數(shù)運(yùn)算發(fā)生溢出時, 當(dāng)運(yùn)算結(jié)果的低8位為偶數(shù)或零時,PF=1如果第三位在加法中攜帶第四位或在減法中從第四位借用第三位,AF=1如果運(yùn)算結(jié)果為0,ZF=1如果運(yùn)算結(jié)果為負(fù),SF=1,1加法指令將目標(biāo)操作數(shù)相加。 源操作數(shù)源操作數(shù)目標(biāo)操作數(shù)模數(shù)轉(zhuǎn)換器目標(biāo)操作數(shù)源操作數(shù)目標(biāo)操作數(shù)目標(biāo)操作數(shù)CF
8、目標(biāo)操作數(shù)影響六個標(biāo)志A,C,O,P,S和Z INC目標(biāo)操作數(shù)目標(biāo)操作數(shù)1目標(biāo)操作數(shù)影響五個標(biāo)志A,O,P,S和Z,1)加法A1,50H將A1和50H相加,并將結(jié)果放入AL 2)添加AX,BX 2000H;將BX 2000小時和BX 2001小時引用的兩個單位的內(nèi)容添加到AX的內(nèi)容中,并將結(jié)果放入AX中。3)INC AL;4)將CX公司添加到美國航空公司的內(nèi)容中;添加CX的內(nèi)容,例如,MOV國際標(biāo)準(zhǔn)化組織,2000小時;MOV迪,3000小時;MOV斧,西;增加斧,去離子;MOV西,斧;MOV斧,國際標(biāo)準(zhǔn)化組織2;模數(shù)轉(zhuǎn)換器AX,DI 2;MOV西2,斧頭;例如:兩個四字節(jié)的無符號數(shù)相加:這兩
9、個數(shù)分別放在2000小時和3000小時開始的存儲單元中,低位在前,高位在后,結(jié)果放在2000小時:2開始的存儲單元中。減法指令,SUB目標(biāo)操作數(shù),源操作數(shù)目標(biāo)操作數(shù)-源操作數(shù)目標(biāo)操作數(shù)SBB目標(biāo)操作數(shù),源操作數(shù)目標(biāo)操作數(shù)-源操作數(shù)-CF目標(biāo)操作數(shù)DEC目標(biāo)操作數(shù)目標(biāo)操作數(shù)-1目標(biāo)操作數(shù)NEG目標(biāo)操作數(shù)0目標(biāo)操作數(shù)影響6個標(biāo)志位A,C,O,P,S和Z,SUB BX,CX SUB BP 2,CL SBB AX,2030H DEC AX DEC BL,例如,如果(AL)解決方案:9AH-65H=9AH (-65H)注意:9AH本身是負(fù)補(bǔ)碼-65H補(bǔ)碼=10011100 溢出,無借用,無借用,標(biāo)志位:
10、SF=0,ZF=0,AF=0,PF=1,CF=0解決方案:執(zhí)行指令后,F(xiàn)FFFFFH-6780H 1=0000-6780H=9880H,(BX)=9880H標(biāo)志位:SF=1 CF=1,OF=0,ZF=0,PF=0,AF=0,比較指令的目標(biāo)操作數(shù)、源操作數(shù)和CMP ax將ax的內(nèi)容與2000H的內(nèi)容進(jìn)行比較,執(zhí)行兩個數(shù)的減法運(yùn)算,但不返回減法結(jié)果,只影響標(biāo)志位。它可以作為條件轉(zhuǎn)移指令的條件。(1)兩種無符號數(shù)比較判斷方法目的=來源:ZF=1目的來源:ZF=0,CF=0目的來源:ZF=0,CF=1,(2)有符號數(shù)比較目的=來源:ZF=1目的來源:ZF=0 OF=0 SF=0或of=1 SF=3。乘
11、法指令,Mul乘法器無符號乘法字節(jié)乘法:被乘數(shù)默認(rèn)為A1,乘積存儲在AX字中進(jìn)行乘法運(yùn)算;被乘數(shù)默認(rèn)為AX,乘積存儲在DX/AX IMUL乘法器中,用于帶符號乘法。IMUL指令將操作數(shù)視為有符號數(shù)。如果操作數(shù)在運(yùn)算過程中為負(fù),則操作數(shù)應(yīng)先進(jìn)行補(bǔ)碼,然后運(yùn)算后對結(jié)果進(jìn)行補(bǔ)碼。乘法指令影響標(biāo)志位CF和OF,其余四個標(biāo)志位沒有意義。,4。除法指令,DIV除數(shù)無符號除法字節(jié)除法:被除數(shù)默認(rèn)為AX,商存儲在AL中,余數(shù)存儲在AH字除法中:被除數(shù)默認(rèn)為DX/AX,商存儲在AX中,余數(shù)存儲在DX IDIV除數(shù)有符號除法中,余數(shù)符號與被除數(shù)一致。注意:該指令是隱式尋址模式,要求除數(shù)是除數(shù)字長的兩倍。當(dāng)商超出范
12、圍時(即除法溢出),將自動產(chǎn)生0型中斷。乘法和除法匯總、乘法運(yùn)算、除法運(yùn)算、字節(jié)轉(zhuǎn)換指令,CBW將A1寄存器中的符號位擴(kuò)展到AH :當(dāng)AL=80H時,AH=執(zhí)行CBW指令后的FFH。CWD將AX寄存器中的符號位擴(kuò)展到DX。當(dāng)AX=8000H時,DX=執(zhí)行CWD指令后的FFFFH。6。十進(jìn)制調(diào)整指令,十進(jìn)制運(yùn)算方法:先進(jìn)行二進(jìn)制運(yùn)算,然后進(jìn)行十進(jìn)制調(diào)整。為什么使用BCD代碼調(diào)整?示例:8 715。由組合的BCD碼表示,運(yùn)算結(jié)果為:如果一個BCD碼對應(yīng)的4位二進(jìn)制數(shù)超過9,則應(yīng)補(bǔ)充一個6,生成進(jìn)位進(jìn)行調(diào)整。9 918,由組合的BCD碼表示的操作過程是:當(dāng)操作BCD碼時,只要自動對焦變?yōu)?,就應(yīng)該調(diào)
13、整低6位。結(jié)果是12,調(diào)整原則,當(dāng)一個4位二進(jìn)制碼對應(yīng)的BCD碼大于9時,加6進(jìn)行調(diào)整;無論何時在低4位產(chǎn)生進(jìn)位,都通過增加6來進(jìn)行調(diào)整。當(dāng)對多個字節(jié)執(zhí)行BCD碼操作時,如果低字節(jié)產(chǎn)生對高字節(jié)的進(jìn)位,則它是CF1,而當(dāng)一個字節(jié)的低4位產(chǎn)生對高4位的進(jìn)位時,它是AF1。十進(jìn)制調(diào)整指令將根據(jù)CF和AF的值判斷是否進(jìn)行“加6調(diào)整”,并進(jìn)行具體的調(diào)整操作。然后,程序?qū)Ω呶蛔止?jié)執(zhí)行運(yùn)算,然后執(zhí)行十進(jìn)制調(diào)整。BCD代碼調(diào)整指令,共6條,均為隱式尋址方式,隱式操作數(shù)為AL或AL,AH;不能單獨(dú)使用,但應(yīng)緊跟在相應(yīng)的算術(shù)運(yùn)算指令前后;執(zhí)行結(jié)果是由壓縮的BCD碼或擴(kuò)展的BCD碼表示的十進(jìn)制數(shù)。DAA加法的壓縮后
14、的BDC碼調(diào)整指令對A1中的壓縮后的BDC碼進(jìn)行加法和校正,而AAA加法的未壓縮后的BDC碼調(diào)整指令對A1中的未壓縮后的BCD碼進(jìn)行加法和校正,并將其攜帶到AH中。DAS減法的壓縮BDC碼調(diào)整指令用于自動機(jī)中壓縮BDC碼的減法校正。AAS減法的未壓縮BCD碼調(diào)整指令用于AL中未壓縮BCD碼的減法校正。從AH中減去借用位,清除AL的高4位,AAM乘法的未壓縮BDC碼調(diào)整指令為AL/10。未壓縮BDC代碼調(diào)整指令A(yù)H * 10alal0ah、movax、08h movbl、09h addal、blaaa、用于商AH余數(shù)AL AAD除法;(鋁)=08H(BL)=09H;(鋁)=11H(AX)=0107,(鋁)=7DH(A1)=77,十進(jìn)制算術(shù)運(yùn)算示例1,實(shí)現(xiàn)十進(jìn)制數(shù)乘法的程序68=48,06movbl,08 mov bl;AAM十進(jìn)制調(diào)整,使(AX)=0408,例3的十進(jìn)制算術(shù)運(yùn)算,程序?qū)崿F(xiàn)十進(jìn)制數(shù)除法482=24,movax,0408h movbl,02h aad設(shè)計資料表格;AAM將商轉(zhuǎn)換成
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 影視制作版權(quán)及免責(zé)協(xié)議書
- 5G網(wǎng)絡(luò)技術(shù)專利授權(quán)合同
- 節(jié)能環(huán)保產(chǎn)品制造合同
- 綠色建筑工程施工承包合同
- 基于物聯(lián)網(wǎng)的智能家居智能家居推廣協(xié)議
- 羽絨服購銷合同
- 房屋無償使用協(xié)議書適用場景分析
- 綠色能源產(chǎn)業(yè)投資基金合作協(xié)議
- 互聯(lián)網(wǎng)教育平臺用戶信息保護(hù)免責(zé)條款協(xié)議
- 基建承包合同
- 建筑工地春節(jié)留守人員安全技術(shù)交底
- 默納克-NICE1000技術(shù)交流-V1.0
- 蝴蝶蘭的簡介
- 老年人心理健康量表(含評分)
- 《小兒靜脈輸液速度》課件
- 營銷人員薪酬標(biāo)準(zhǔn)及績效考核辦法
- 醫(yī)院每日消防巡查記錄表
- 運(yùn)輸企業(yè)重大危險源辨識及排查制度
- 運(yùn)動技能學(xué)習(xí)與控制課件第五章運(yùn)動中的中樞控制
- 中心血站改造項(xiàng)目謀劃建議書
- 高中數(shù)學(xué)三角函數(shù)圖像變換訓(xùn)練-含答案
評論
0/150
提交評論