微型計算機課件 009-指令系統-1303_第1頁
微型計算機課件 009-指令系統-1303_第2頁
微型計算機課件 009-指令系統-1303_第3頁
微型計算機課件 009-指令系統-1303_第4頁
微型計算機課件 009-指令系統-1303_第5頁
已閱讀5頁,還剩13頁未讀, 繼續免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

8086的指令系統五控制傳送指令:轉移指令,過程調用指令,循環控制指令,中斷指令六處理器控制指令: 標志處理指令,其他處理機控制指令(2)Jcc條件轉移指令根據單個條件標志的設置情況轉移(10種)JZ(JE)/JNZ(JNE),JP(JPE)/JNP(JPO),JS/JNS,JO/JNO,JB(JNAE、JC)/JNB(JAE、JNC)根據兩個無符號數比較結果轉移(4種)JB(JNAE、JC)/JNB(JAE、JNC),JBE(JNA)/JNBE(JA)比較兩個帶符號數,并根據比較結果轉移(4種)JL(JNGE)/JNL(JGE),JLE(JNG)/JNLE(JG)按轉移條件不同,條件轉移指令可以分為四大類:①以單個狀態標志作為轉移條件助記符 轉移條件CF=0JNCCF=1JCPF=0JNP/JPOPF=1JP/JPEOF=0JNOOF=1JOSF=0JNSSF=1JSZF=0JNZ/JNEZF=1JZ/JE轉移條件助記符轉移條件助記符②以CX的值為0作為轉移條件CX=0JCXZ 轉移條件助記符CF∨ZF=1 低于或等于/不高于A<=BJBE/JNACF=1 低于/不高于等于/有進位JB/JNAE/JCCF=0高于或等于/不低于/無進位JAE/JNB/JNCCF∨ZF=0 高于/不低于等于A>BJA/JNBE轉移條件助記符 ③以兩個無符號數比較的結果作為轉移條件④以兩個帶符號數比較的結果作為轉移條件(SF⊕OF)∨ZF=1 小于或等于/不大于(A<=B)JLE/JNGSF⊕OF=1且Z=0 小于/不大于等于(A<B)JL/JNGESF⊕OF=0或Z=1大于或等于/不小于(A>=B)JGE/JNL(SF⊕OF)∨ZF=0 大于/不小于等于(A>B)JG/JNLE

轉移條件 助記符中斷指令中斷(Interrupt) 有時當系統運行或程序運行期間遇到某些特殊情況,需要計算機自動執行一組專門的例行程序來進行處理。中斷例行程序,所執行的這組程序就稱為中斷子程序。種類:中斷分為內部(軟)中斷和外部(硬)中斷兩種。內部中斷—如除法運算中除數為0、中斷指令引起的中斷。外部中斷—處理I/O設備與CPU之間的通信。CPU響應一次中斷自動完成三件事情:(PSW)入棧—保護現場,(CS),(IP)保存入棧—保留斷點,轉中斷例行程序去執行。

中斷返回時:

恢復(IP)、(CS)及(PSW)中斷向量:中斷例行程序入口地址。IBM-PC中,存儲器的最底地址00000H—003FFH為中斷向量區,存放256種類型中斷例行程序入口地址,每個中斷向量占4個單元。中斷指定類型號N×4—取得指定類型的中斷向量地址。例:中斷類型9,9

×

4=36

00024H——00027H單元中放中斷向量。IBM-PC機中為每個類型規定了一種功能。DOS系統功能調用功能程序類型21程序結束中斷類型20顯示設備中斷類型10溢出處理中斷,INTO指令類型4設置斷點類型3非屏蔽中斷,NMI類型2單步類型1除數為0中斷例行程序類型0功能中斷類型*除非特別注明,類型號是以16進制形式表示的。(1).INTn,IRET

格式:INTn ;n—常數或表達式,n=0—255

或INT執行操作:

(SP)←(SP)-2,((SP)+1,(SP))←(PSW) (SP)←(SP)-2,((SP)+1,(SP))←(CS) (SP)←(SP)-2,((SP)+1,(SP))←(IP) (IP)←(N×4) (CS)←(N×4+2)清除IF、TF,避免進入中斷以后不被外面其它中斷所打斷 及進入中斷以后按單步執行。類型0~3的中斷稱為內部中斷。類型0:指令系統沒有INT0這條指令除數為0中斷除數為0:它既不是外部中斷也不是軟件中斷。是由CPU自身產生的,所以無對應中斷指令。有符號數進行除法所得的商超出規定范圍有符號數進行除法運算,所得的商超出規定范圍,CPU自動產生類型為0的中斷,轉入響應的中斷處理程序。內存0:0000H~0:03FFH區域中,構成中斷向量表,存放中斷處理程序入口地址。每4個單元對應1個中斷源。關系如下表:類型中斷處理程序入口地址的地址類型255(CS)003FEH~003FFH類型255(IP)003FCH~003FDH…………類型4(CS)00012H~00013H類型4(IP)00010H~00011H類型3(CS)0000EH~0000FH類型3(IP)0000CH~0000DH類型2(CS)0000AH~0000BH類型2(IP)00008H~00009H類型1(CS)00006H~00007H類型1(IP)00004H~00005H類型0(CS)00002H~00003H類型0(IP)00000H~00001H類型1—單步中斷

TF=1進入單步中斷。 單步中斷不是由外部硬件或程序中的中斷產生, 而是CPU測試TF=1時產生的。單步中斷—每執行一條指令,進行一次單步中斷處理,顯示出一系列內部寄存器的值,并告示一些附帶的信息。一般用于調試程序中逐條執行用戶程序。對于有重復前綴串操作指令—單步操作下,每重復一次將產生一個單步中斷,而不是整個串操作結束后進入單步操作。類型2——NMI中斷,非屏蔽中斷NMI中斷是由NMI引腿引入,不受IF屏蔽,只要NMI腿出現中斷請求,中斷處理子程序入口地址在0:0008H——0:000BH中,CPU予以響應,進入對應的中斷處理。類型3——斷點中斷8088提供的一種調試手段。設置斷點過程(在DEBUG下):-G=起始地址 斷點地址用戶程序指定斷點:用斷點的中斷指令INT3來代替原有指令,把用戶原有指令進棧保存,這樣運行到斷點處執行INT3,轉入中斷處理程序,顯示一系列寄存器值,并給出一些重要信息,用戶可判斷正誤。斷點中斷還負責恢復進入中斷前的被INT3替換掉的那條指令。類型4——溢出中斷,INTO指令格式:INTO;該指令檢測OF標志,

OF=1執行INTO,否則執行INTO下一條執行。執行操作:

(SP)←(SP)-2,((SP)+1,(SP))←(PSW) (SP)←(SP)-2,((SP)+1,(SP))←(CS) (SP)←(SP)-2,((SP)+1,(SP))←(IP) (IP)←(10H) (CS)←(12H) IF=TF=0執行:OF為1時,執行INTO;

OF為0時,執行INTO下一條執行。

例 、、、

INTO

、、、 、、、 、、、 、、、 類型4中斷子程→、、、 、、、 、、、使用注意事項:①對于無符號,有符號*、/,指令各不相同。②對于無符號,有符號+、-指令同,有、無符號數+、-都有可能產生溢出。對于無符號數溢出不是什么錯誤,表示低位字節或字向高位產生進位、借位。有符號數溢出意味著出錯所以應避免。③有符號數,OF=1——表示有符號數產生溢出。無符號數,OF=1——并不表示錯誤。④對CPU來說分不清楚進行的是有、無符號+-運算,只能是程序員清楚。

8088提供了一條INTO指令,專門用來判斷有符號數+、-溢出?!郔NTO跟在有符號數+、-后面:OF=1,執行INTO,進入類型4的溢出中斷,給出設置標志。OF≠1,執行INTO,也轉入中斷后子程序, 程序對標志進行測試很快返回。這條指令可以寫在一條算術指令后面。若產生溢出,OF=1,則啟動中斷過程,不進行任何操作。(2)IRET——從中斷返回指令(Interruptreturn) 所有中斷過程(服務程序)不管是硬還是軟,最后一條指令一定是:

IRET退出中斷過程,返回中斷時斷點。格式:IRET執行操作:

(IP)←((SP)+1,(SP)),

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論