《《微型計算機原理與接口技術》第3章8088指令系統(tǒng)5程序控制指令、處》由會員分享,可在線閱讀,更多相關《《微型計算機原理與接口技術》第3章8088指令系統(tǒng)5程序控制指令、處(56頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1 2 表3-6 控制轉移類指令 3 續(xù)表(2) 4 續(xù)表(3) 5 續(xù)表(4) 6 7 8 9 JMP LableLabel代碼段位移量近地址標號CS : IP= 10 11 JMP BX代碼段數(shù)據(jù)段BX=1200XXHXXHIP指令碼CS : IP 12 13 14遠地址標號 JMPLabel代碼段1代碼段2XXHXXHXXHXXHIPCSCS : IP= 15 16 40001212+) 41212 DSSI 0010004A 41212412134121441215 10004A00 IPCS段間間接轉移操作示意圖1111111111101100JMP DWORD PTR SI的機器碼
2、DS:SI 17XXHXXHXXHXXHBXIPCS JMP指令碼代碼段1代碼段2數(shù)據(jù)段CS : IP 18 19 20 21 22 23 24 25 26 27 28 29 30斷點 入口地址RETCALL 31 32 33 34 35 CALL IPH IPL操作圖示:81200H81201H 36 保護斷點跳轉 37 38 CALL IPH IPL CSH CSL DIDI+1DI+2DI+3段間間接調用示意圖 39 40n中斷源分類:外部中斷、內部中斷n內部中斷(軟件中斷):CPU內部執(zhí)行程序(INT n或INTO)時自身產(chǎn)生的中斷。n外部中斷(硬件中斷):CPU以外的設備、部件產(chǎn)生的
3、中斷。用于處理外設與CPU間的通信。 41 42 CALLINT RETIRET 43 0000 : n4 XXHXXHYYHYYH中斷服務程序入口的偏移地址(IP)中斷服務程序入口的段地址(CS)中斷類型碼n = 0 255內存中斷向量 44 45 IPLIPHCSLCSHSP=1200 FLAGSLFLAGSHSP=11FA執(zhí)行INT 21H指令后保護斷點堆棧執(zhí)行INT 21H指令前(1)先做:保護標志FLAGS和保護斷點地址CS:IP 460000:0084H 23H11H00H20HIP CS0000 : 21H4 47 相當于INT 4 48 49 50 51 52 53 54 (3
4、) 等待指令 WAITn CPU每隔5個時鐘周期就要檢查一次 ,WAIT指令可以使CPU進入等待狀態(tài),等待狀態(tài)期間( 變?yōu)闊o效)CPU可被中斷。當它為有效時, CPU會停止執(zhí)行WAIT,退出等待狀態(tài)。 n WAIT主要用于: (1)CPU (8086)與協(xié)處理器(8087/8089)和外部設備 的同步; (2)也可用來等待被允許的外部中斷的到來,但中斷 任務執(zhí)行完后仍返回WAIT指令,繼續(xù)等待。TESTTEST 55 (4) 換碼或協(xié)處理器指令 ESC ESC指令主處理器可向協(xié)處理器提供一條可執(zhí)行的指令及相應的操作數(shù)。 當執(zhí)行ESC指令時,協(xié)處理器監(jiān)視系統(tǒng)總線, 并可取得操作碼。由于8087協(xié)處理器無尋址能力,當取得操作需要存儲器訪問時,8086主處理器將指定存儲單元的內容送到數(shù)據(jù)總線上,否則不需要8086做任何事情。指令一般格式: ESC OPRD OPRD為存儲器操作數(shù)。指令執(zhí)行時,把一個指定的存儲單元的內容送到DB上,由協(xié)處理器獲取后,完成相應的操作。 56 (5) 封鎖指令 LOCK LOCK是一個可用在有關指令前面的前綴,使用了這個指令前綴的指令,可在指令執(zhí)行期間封鎖局部總線,以保證在多處理器及多任務下的數(shù)據(jù)安全。 LOCK指令前綴可使CPU的LOCK 引腳產(chǎn)生一個有效電平,以實現(xiàn)總線封鎖,此過程一直持續(xù)到該指令執(zhí)行結束。