微機原理與接口技術(shù)的課件第3章.ppt_第1頁
微機原理與接口技術(shù)的課件第3章.ppt_第2頁
微機原理與接口技術(shù)的課件第3章.ppt_第3頁
微機原理與接口技術(shù)的課件第3章.ppt_第4頁
微機原理與接口技術(shù)的課件第3章.ppt_第5頁
已閱讀5頁,還剩93頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1,8086指令系統(tǒng)(2),2,三、邏輯運算和移位類,邏輯運算移位操作,非循環(huán)移位循環(huán)移位,3,邏輯運算和移位指令,4,指令類型,邏輯運算與,或,非,異或移位操作非循環(huán)移位,循環(huán)移位,5,一、邏輯運算,邏輯運算指令對操作數(shù)的要求大多與MOV指令相同?!胺恰边\算指令要求操作數(shù)不能是立即數(shù);除“非”運算指令外,其余指令的執(zhí)行都會使標志位OF=CF=0,6,1.“與”指令:,格式:ANDOPRD1,OPRD2操作:兩操作數(shù)相“與”,結(jié)果送目標地址。注:與運算規(guī)則:見0為0,全1為1。例:MOVAX,5555HANDAX,0FFH;AX=0055H屏蔽高位,取出低位(高位清零);即對應(yīng)位為0則清0,對應(yīng)位為1則不變。,7,“與”指令的應(yīng)用,實現(xiàn)兩操作數(shù)按位相與的運算ANDBL,SI使目標操作數(shù)的某些位不變,某些位清零ANDAL,0FH在操作數(shù)不變的情況下使CF和OF清零ANDAX,AX,8,2.“或”運算指令,格式:OROPRD1,OPRD2操作:兩操作數(shù)相“或”,結(jié)果送目標地址?;蜻\算規(guī)則:見1為1,全0為0。例:MOVAX,8888H;ORAX,0FFH;AX=88FFH對應(yīng)1位置1對應(yīng)0位則不變。,9,“或”指令的應(yīng)用,實現(xiàn)兩操作數(shù)相“或”的運算ORAX,DI使某些位不變,某些位置“1”O(jiān)RCL,0FH在不改變操作數(shù)的情況下使OF=CF=0ORAX,AX,10,3.“非”運算指令,格式:NOTOPRD操作:操作數(shù)按位取反再送回原地址注:指令中的操作數(shù)不能是立即數(shù)指令的執(zhí)行對標志位無影響例:MOVAX,1;NOTAX;AX=0FFFEH該指令只是執(zhí)行求反操作,而不是求反碼指令,對符號位也求反。該指令不影響標志位。,11,4.“異或”運算指令,格式:XOROPRD1,OPRD2操作:兩操作數(shù)相“異或”,結(jié)果送目標地址例:MOVAX,3333H;XORAX,0FFH;AX=33CCH對應(yīng)0不變,對應(yīng)1求反。例:XORAX,AX;AX=0清零某一操作數(shù)和自身相“異或”,結(jié)果為零。,12,5.“測試”指令,格式:TESTOPRD1,OPRD2操作:執(zhí)行“與”運算,但運算的結(jié)果不送回目標地址。應(yīng)用:常用于測試某些位的狀態(tài),13,二、移位指令,非循環(huán)移位指令循環(huán)移位指令,注:移動一位時由指令直接給出;移動兩位及以上,則移位次數(shù)由CL指定。,14,1.非循環(huán)移位指令,邏輯左移算術(shù)左移邏輯右移算術(shù)右移,15,算術(shù)左移和邏輯左移,算術(shù)左移指令:SALOPRD,1SALOPRD,CL邏輯左移指令:SHLOPRD,1SHLOPRD,CL,有符號數(shù),無符號數(shù),移動一位后,若CF與最高位不相等,則OF=1;否則OF=0,16,1)算術(shù)左移和邏輯左移指令SAL/SHL,格式:SALDST,CNT或SHLDST,CNT操作:CF0即將目的操作數(shù)的內(nèi)容左移1位或CL所指定的位,每左移1位,左邊的最高位移入CF位,而在右邊的最低位補0.注:SAL指令與SHL指令操作一樣,即機器碼一樣。例:MOVBL,0CH;BL=12(0CH)SHLBL,1;BL=24(18H)左移一位,等于對操作數(shù)(帶符號或無符號)乘2運算,左移N次,則乘2N,但防止溢出.,17,邏輯右移SHR,格式:SHROPRD,ISHROPRD,CL,0,CF,無符號數(shù)的右移,移動一位后,若次高位與最高位不相等,則OF=1;否則OF=0,18,邏輯右移例:,MOVAL,68HMOVCL,2SHRAL,CL;AL=1AH,0,CF,011010,AL,0,0,0,00110100,AL,CF,0,0,00011010,AL,CF,0,0,移動1次,移動2次,19,算術(shù)右移SAR,格式:SAROPRD,ISAROPRD,CL,有符號數(shù)的右移,CF,將目標操作數(shù)向右移1位或CL指定的位數(shù),操作數(shù)最低位移入標志位CF,移空的位由最高位補充。(例3-31),20,非循環(huán)移位指令的應(yīng)用,左移可實現(xiàn)乘法運算右移可實現(xiàn)除法運算,21,2.循環(huán)移位指令,不帶進位位的循環(huán)移位帶進位位的循環(huán)移位,左移ROL右移ROR,左移RCL右移RCR,指令格式、對操作數(shù)的要求與非循環(huán)移位指令相同,22,不帶進位位的循環(huán)移位,CF,CF,23,(5)循環(huán)右移ROR,格式:RORDST,CNT操作:CF將(DST)右移CNT位,且將最低位移至最高位,移空的位由移出位補充。(6)循環(huán)左移ROL格式:ROLDST,CNT操作:CF將(DST)左移CNT位,且將最高位移至最低位,移空的位由移出位補充。例:MOVAL,45HMOVCL,4ROLAL,CL;AL=54H,高四位與低四位互換,使用ROR也一樣。,24,帶進位位的循環(huán)移位,CF,CF,25,(7)帶進位循環(huán)右移,格式:RCRDST,CNT操作:CF將8位、16位寄存器或存儲器內(nèi)容左移,移空的位由CF位補充。(8)帶進位循環(huán)右移格式:RCLDST,CNT操作:CF將8位、16位寄存器或存儲器內(nèi)容右移,移空的位由CF位補充。此四條指令只影響CF,不影響其它標志。當(dāng)想把一個寄存器或單元的內(nèi)容,移至另一個單元時,常用帶進位移.,26,循環(huán)移位指令的應(yīng)用,用于對某些位狀態(tài)的測試;高位部分和低位部分的交換;與非循環(huán)移位指令一起組成32位或更長字長數(shù)的移位。,27,串操作指令,28,串操作指令說明,針對數(shù)據(jù)塊或字符串的操作;可實現(xiàn)存儲器到存儲器的數(shù)據(jù)傳送;待操作的數(shù)據(jù)串稱為源串,目標地址稱為目標串。,29,串操作指令的特點,源串一般存放在數(shù)據(jù)段,偏移地址由SI指定。允許段重設(shè);目標串必須在附加段,偏移地址由DI指定;指令自動修改地址指針,修改方向由DF決定。DF=0DF=1數(shù)據(jù)塊長度值由CX指定可增加自動重復(fù)前綴以實現(xiàn)自動修改CX內(nèi)容。,增地址方向;,減地址方向;,30,重復(fù)前綴,無條件重復(fù)REP條件重復(fù)REPE相等重復(fù)REPZ為零重復(fù)REPNE不相等重復(fù)REPNZ不為零重復(fù),CX0ZF=1,CX0ZF=0,CX0重復(fù),31,串操作指令流程,取源串地址,取目標串地址,設(shè)串長度,傳送一個字節(jié)或字,修改地址指針,修改串長度值,傳送完否?,N,Y,設(shè)操作方向,32,串操作指令,串傳送MOVS串比較CMPS串掃描SCAS串裝入LODS串送存STOS,33,1.串傳送指令,格式:MOVSOPRD1,OPRD2MOVSBMOVSW串傳送指令常與無條件重復(fù)前綴連用,34,串傳送指令,對比用MOV指令和MOVS指令實現(xiàn)將200個字節(jié)數(shù)據(jù)從內(nèi)存的一個區(qū)域送到另一個區(qū)域的程序段。,35,串傳送指令例,用串傳送指令實現(xiàn)200個字節(jié)數(shù)據(jù)的傳送:LEASI,MEM1LEADI,MEM2MOVCX,200CLDREPMOVSBHLT,36,2.串比較指令,格式:CMPSOPRD1,OPRD2CMPSBCMPSW串比較指令常與條件重復(fù)前綴連用,指令的執(zhí)行不改變操作數(shù),僅影響標志位。前綴的操作對標志位不影響,37,串比較指令例,測試200個字節(jié)數(shù)據(jù)是否傳送正確:,LEASI,MEM1LEADI,MEM2MOVCX,200CLDREPECMPSBTESTCX,00FFH,JZSTOPDECSIMOVAL,SIMOVBX,SISTOP:HLT,38,3.串掃描指令,格式:SCASOPRDSCASBSCASW執(zhí)行與CMPS指令相似的操作,只是這里的源操作數(shù)是AX或AL,目標操作數(shù),39,串掃描指令的應(yīng)用,常用于在指定存儲區(qū)域中尋找某個關(guān)鍵字。,40,串裝入指令,格式:LODSOPRDLODSBLODSW操作:對字節(jié):AL對字:AX,源操作數(shù),DS:SI,DS:SI,41,4.串裝入指令,用于將內(nèi)存某個區(qū)域的數(shù)據(jù)串依次裝入累加器,以便顯示或輸出到接口。LODS指令一般不加重復(fù)前綴。,42,5.串存儲指令,格式:STOSOPRDSTOSBSTOSW操作:對字節(jié):AL對字:AX,目標操作數(shù),ES:DI,ES:DI,43,串存儲指令例內(nèi)存某個區(qū)域清零,設(shè)計思想:,區(qū)域首地址送ES:DI,串長度送CX,置方向標志DF,0送累加器AL,執(zhí)行串送存指令,p132,44,程序控制指令,轉(zhuǎn)移指令循環(huán)控制過程調(diào)用中斷控制,45,一、轉(zhuǎn)移指令,無條件轉(zhuǎn)移指令無條件轉(zhuǎn)移到目標地址,執(zhí)行新的指令有條件轉(zhuǎn)移指令在具備一定條件的情況下轉(zhuǎn)移到目標地址,通過修改指令的偏移地址或段地址及偏移地址實現(xiàn)程序的轉(zhuǎn)移,46,1.無條件轉(zhuǎn)移指令,格式:JMPOPRD,目標地址,與JMP在同一代碼段,與JMP不在同一代碼段,原則上可實現(xiàn)在整個內(nèi)存空間的轉(zhuǎn)移,47,無條件段內(nèi)轉(zhuǎn)移,轉(zhuǎn)移的目標地址在當(dāng)前代碼段內(nèi),段地址不改變。即:目標地址是16位偏移地址。,指令中直接給出目標地址,由指令中的寄存器或存儲器操作數(shù)指出目標地址,段內(nèi)直接轉(zhuǎn)移,段內(nèi)間接轉(zhuǎn)移,48,段內(nèi)直接轉(zhuǎn)移,段內(nèi)直接轉(zhuǎn)移轉(zhuǎn)移的目標地址由指令直接給出格式:JMP(NEAR)Label,近地址標號,說明:指令被匯編時,匯編程序會計算出JMP指令的下一條指令到Label所指示的目標地址之間的位移量(即相距多少個字節(jié)單元)操作:IP+位移量(16位或8位)新的IP,目標地址與JMP指令處于同一地址段范圍之內(nèi)(都在CS段)。,49,段內(nèi)直接轉(zhuǎn)移示圖,JMP,Label,代碼段,位移量,下一條要執(zhí)行指令的偏移地址=當(dāng)前IP+位移量,50,段內(nèi)間接轉(zhuǎn)移,段內(nèi)間接轉(zhuǎn)移轉(zhuǎn)移的目標地址存放在某個16位寄存器或存儲器的某兩個單元中格式:JMPOPRD操作:用指定的16位寄存器內(nèi)容或存儲器兩單元內(nèi)容內(nèi)容作為轉(zhuǎn)移目標的偏移地址,用其內(nèi)容取代原來IP的內(nèi)容,從而實現(xiàn)程序的轉(zhuǎn)移。,16位的寄存器或存儲器地址,51,段內(nèi)間接轉(zhuǎn)移例,例:JMPBX若:BX=1200H則:轉(zhuǎn)移的目標地址=1200H,JMP,代碼段,1200H,MOV,52,段內(nèi)間接轉(zhuǎn)移例,JMPWORDPTRBX設(shè):BX=1200H,JMP,代碼段,數(shù)據(jù)段,BX=1200,XXH,XXH,IP,指令碼,53,無條件段間轉(zhuǎn)移,轉(zhuǎn)移的目標地址不在當(dāng)前代碼段內(nèi)。目標地址為32位,包括段地址和偏移地址。,指令中直接給出目標地址,由指令中的32位存儲器操作數(shù)指出目標地址,段間直接轉(zhuǎn)移,段間間接轉(zhuǎn)移,54,段間直接轉(zhuǎn)移,段間直接轉(zhuǎn)移轉(zhuǎn)移的目標地址由指令直接給出格式:JMPFARPTRLabel這種方式下,指令中給出轉(zhuǎn)向地址的段地址和段內(nèi)偏移量。發(fā)生轉(zhuǎn)移時,用前者取代當(dāng)前CS寄存器內(nèi)容,用后者取代當(dāng)前IP中的內(nèi)容,從而使程序從一個代碼段轉(zhuǎn)移到另一個代碼段,例:JMPFARPTRLABEL;其中LABEL為轉(zhuǎn)向的符號地址,它是另一代碼段中距段首址的偏移量,F(xiàn)ARPTR為段間轉(zhuǎn)移的運算符。,遠地址標號,55,段間直接轉(zhuǎn)移示圖,JMP,Label,代碼段1,Label與JMP之間的位移量,代碼段2,XXH,XXH,XXH,XXH,IP,CS,56,段間間接轉(zhuǎn)移,格式:JMPOPRD(32位的存儲器地址)操作:指令中將給出一個存儲器地址,用該存儲器地址所指的連續(xù)的4個存儲單元的內(nèi)容(32位)來取代當(dāng)前的IP和CS的內(nèi)容。低字節(jié)兩個單元的內(nèi)容代替IP,高字節(jié)兩個單元的內(nèi)容代替CS。例如:JMPDWORDPTRBX+SI;用(BX)(SI)所指的存儲器字單元內(nèi)容取代(IP),用(BX)(SI)2所指的存儲器字單元內(nèi)容取代(CS)。DWORDPTR為雙字指針運算符。,57,段間間接轉(zhuǎn)移例,段間間接尋址轉(zhuǎn)移的目標地址由指令中的32位操作數(shù)給出例:JMPDWORDPTRBX,XXH,XXH,XXH,XXH,BX,IP,CS,JMP,指令碼,代碼段1,代碼段2,數(shù)據(jù)段,58,2.條件轉(zhuǎn)移指令,在滿足一定條件下,程序轉(zhuǎn)移到目標地址繼續(xù)執(zhí)行條件轉(zhuǎn)移指令均為段內(nèi)短轉(zhuǎn)移,即轉(zhuǎn)移范圍為:-128-+127,p136,59,1)單條件轉(zhuǎn)移指令JC;CF標志為1,則轉(zhuǎn)移JNC;CF標志為0,則轉(zhuǎn)移JE/JZ;ZF標志為1,則轉(zhuǎn)移JNE/JNZ;ZF標志為0,則轉(zhuǎn)移JS;SF標志為1,則轉(zhuǎn)移JNS;SF標志為0,則轉(zhuǎn)移JO;OF標志為1,則轉(zhuǎn)移JNO;OF標志為0,則轉(zhuǎn)移JP/JPE;PF標志為1,則轉(zhuǎn)移JNP/JPO;PF標志為0,則轉(zhuǎn)移,2.條件轉(zhuǎn)移指令,60,條件A處理,條件A判斷,條件B處理,條件B判斷,N,Y,Y,N,61,2)用于無符號數(shù)的條件轉(zhuǎn)移指令JA/JNBE;高于/不低于等于轉(zhuǎn)移,CFZF0JNA/JBE;不高于/低于等于轉(zhuǎn)移,CFZF1JB/JNAE;低于/不高于等于轉(zhuǎn)移,CF1JNB/JAE;不低于/高于等于轉(zhuǎn)移,CF0,條件轉(zhuǎn)移指令,62,3)用于帶符號數(shù)的條件轉(zhuǎn)移指令JG/JNLE;大于/不小于等于轉(zhuǎn)移,(SFOF)ZF0JGE/JNL;大于等于/不小于轉(zhuǎn)移,(SFOF)0JL/JNGE;小于/不大于等于轉(zhuǎn)移,(SFOF)1JLE/JNG;小于等于/不大于轉(zhuǎn)移,(SFOF)ZF1,63,轉(zhuǎn)移指令例,統(tǒng)計內(nèi)存數(shù)據(jù)段中以TABLE為首地址的100個8位符號數(shù)中正數(shù)、負數(shù)和零元數(shù)的個數(shù)。,64,轉(zhuǎn)移指令例(流程圖),將存放各元素個數(shù)的單元清零,取首地址設(shè)串長度,取一個字節(jié)數(shù),正數(shù)個數(shù)加1,零元素加1,為負?,為零?,負數(shù)個數(shù)加1,N,Y,N,Y,65,二、循環(huán)控制指令,循環(huán)范圍:以當(dāng)前IP為中心的-128+127范圍內(nèi)循環(huán)。循環(huán)次數(shù)由CX寄存器指定。循環(huán)指令:,LOOP*LOOPZ*LOOPNZ,無條件循環(huán)指令,條件循環(huán)指令,66,無條件循環(huán)指令,格式:LOOPLABEL循環(huán)條件:CX0操作:DECCXJNZ(ZF=0轉(zhuǎn)移)符號地址,67,條件循環(huán)指令,格式:LOOPZLABELLOOPELABEL循環(huán)條件:CX0ZF=1,格式:LOOPNZLABELLOOPNELABEL循環(huán)條件:CX0ZF=0,68,三、過程調(diào)用和返回,用于調(diào)用一個子過程;子過程由程序員預(yù)先設(shè)計并裝入內(nèi)存子過程執(zhí)行結(jié)束后要返回原調(diào)用處,調(diào)用程序,斷點,入口地址,入口地址,斷點地址,子程序,69,調(diào)用指令的執(zhí)行過程,保護斷點;將調(diào)用指令的下一條指令的地址(斷點)壓入堆棧獲取子過程的入口地址;子過程第1條指令的偏移地址執(zhí)行子過程,含相應(yīng)參數(shù)的保存及恢復(fù);恢復(fù)斷點,返回原程序。將斷點偏移地址由堆棧彈出,70,過程調(diào)用,段內(nèi)調(diào)用段間調(diào)用,段內(nèi)直接調(diào)用段內(nèi)間接調(diào)用,段間直接調(diào)用段間間接調(diào)用,71,1.段內(nèi)調(diào)用,被調(diào)用程序與調(diào)用程序在同一代碼段調(diào)用前只需保護斷點的偏移地址格式:CALLNEARPROC執(zhí)行過程:,近過程名,代碼段1,調(diào)用程序,被調(diào)用程序,代碼段1,將斷點的偏移地址壓入堆棧根據(jù)過程名找子程序入口,72,1).段內(nèi)直接調(diào)用,格式:CALLNEAR目標地址操作:PUSH(IP)(IP)+D16(16位的偏移量)(IP)說明:首先把子程序的返回地址(即CALL指令的下一條指令的地址)存入堆棧中,以便子程序返回主程序使用;然后轉(zhuǎn)移到子程序的入口地址去繼續(xù)執(zhí)行。,73,2).段內(nèi)間接調(diào)用,格式:CALLOPRD操作:PUSH(IP)(IP)(EA)說明:首先把子程序的返回地址(即CALL指令的下一條指令的地址)存入堆棧中,以便子程序返回主程序使用;然后轉(zhuǎn)移到子程序的入口地址去繼續(xù)執(zhí)行。,求得的轉(zhuǎn)向子程序的偏移地址,REG,MEM,74,段內(nèi)調(diào)用例,(1)CALLTIMRE(2)CALLWORDPTRSI,直接調(diào)用,間接調(diào)用,44H,33H,CALL,代碼段,數(shù)據(jù)段,設(shè):SI=1200HCS=6000H,1200H,執(zhí)行第(2)條指令后:,6000H,CS=,3344H,IP=,75,2.段間調(diào)用,子過程與原調(diào)用程序不在同一代碼段先將斷點的CS壓棧,再壓入IP。,調(diào)用前需保護斷點的段基地址和偏移地址,76,1).段間直接調(diào)用,格式:CALLFAR目標地址操作:PUSH(CS)PUSH(IP)(IP)目的操作數(shù)指定的偏移地址(CS)目的操作數(shù)指定的段地址說明:由于調(diào)用程序和子程序不在同一段內(nèi),因此返回地址的保存以及轉(zhuǎn)向地址的設(shè)置都必須把段地址考慮在內(nèi)。例:CALL3000H:2000H直接給出了被調(diào)用過程的段地址和偏移地址“3000H:2000H”。,77,2).段間間接調(diào)用,格式例:CALLWORDPTRSICALLBX操作:PUSH(CS)PUSH(IP)(IP)(EA)(CS)(EA+2)說明:目標地址存放在連續(xù)的四個存儲單元中,低字節(jié)兩個單元的內(nèi)容代替IP,高字節(jié)兩個單元的內(nèi)容代替CS。,把子程序的返回地址存入堆棧,轉(zhuǎn)移到子程序的入口地址,78,段間調(diào)用例,格式:CALLFARPROC格式例:CALLFARTIMRECALLDWORDPTRSI,XXH,XXH,CALL,代碼段,數(shù)據(jù)段,SI,XXH,XXH,CS,IP,79,3.返回指令,功能:從堆棧中彈出斷點地址,返回原程序格式:RET說明:和調(diào)用指令CALL相對應(yīng)的是返回指令RET。返回指令通常作為一個子程序或過程的最后一條指令,它用以返回到調(diào)用這個子程序的斷點處。段內(nèi)返回:格式:RET操作:IP出棧段間返回:格式:RET操作:IP先出棧,CS后出棧,80,四、中斷指令,中斷中斷源中斷的類型中斷指令引起CPU產(chǎn)生一次中斷的指令,81,中斷的基本概念,什么是中斷,我們從生活中的例子引入。看書的例子:你正在看書,突然電話鈴響了,.。中斷就是正常的工作被外部事件打斷了。,82,中斷源的概念,什么可以引起中斷?生活中有很多事件可以引起中斷:有人按了門鈴,電話鈴響了,你的鬧鐘鈴響了,你燒的水開了.等等諸如此類的事件,我們把可以引起中斷的事件稱之為中斷源。計算機中也有一些可以引起中斷的事件,分為內(nèi)部中斷和外部中斷。,83,計算機中的中斷,中斷是指由于某種隨機事件的發(fā)生,計算機暫?,F(xiàn)行程序的運行,轉(zhuǎn)去執(zhí)行另一程序,以處理發(fā)生的事件,處理完畢后又自動返回原來的程序繼續(xù)運行。將能引起中斷的事件稱為中斷源。CPU現(xiàn)行運行的程序稱為主程序。處理隨機事件的程序稱為中斷服務(wù)子程序。,84,中斷技術(shù)的優(yōu)點,分時操作CPU可以同多個外設(shè)“同時”工作實時處理CPU及時處理隨機事件故障處理電源掉電、存儲出錯、運算溢出,85,中斷與過程調(diào)用:,中斷是隨機事件或異常事件引起,調(diào)用則是事先已在程序中安排好;響應(yīng)中斷請求不僅要保護斷點地址,還要保護FLAGS內(nèi)容;調(diào)用指令在指令中直接給出子程序入口地址,中斷指令只給出中斷向量碼,入口地址則在向量碼指向的內(nèi)存單元中。,86,1.中斷指令,格式:INTn說明:n4,中斷類型碼n=0255,n4,XXH,XXH,XXH,XXH,入口的偏移地址,入口的段地址,存放中斷服務(wù)子程序入口地址的單元的偏移地址,代碼段,數(shù)據(jù)段,該單元在數(shù)據(jù)段,段地址=DS,87,中斷指令I(lǐng)NTn,執(zhí)行的操作:PUSH(FLAGS);將FR的內(nèi)容壓入堆棧TF0IF0PUSH(CS);將返回地址的段地址壓入堆棧PUSH(IP);將返回地址的偏移地址壓入堆棧(IP)(n*4);將中斷服務(wù)程序的偏移地址存入IP寄存器(CS)(n*4+2);將中斷服務(wù)程序的段地址存入CS寄存器n為類型號,值在0255之間。,將中斷允許標志IF和單步標志TF清零,88,中斷向量:是指中斷服務(wù)程序的入口地址(包括偏移地址和段地址),一個中斷向量占據(jù)4字節(jié)空間。中斷向量表是8088系統(tǒng)內(nèi)存中最低端1K字節(jié)空間,其中存放著256種類型的中斷例行程序的入口地址,構(gòu)成一個中斷向量表。每個中斷向量分配4個連續(xù)的字節(jié)單元,所以中斷類型號乘以4得到一個單元地址,由此地址開始的前兩個單元存放的是中斷處理程序入口地址的偏移量,后兩個單元存放的是中斷處理程序入口地址的段地址。在中斷響應(yīng)過程中,CPU通過從接口電路獲取的中斷類型號(中斷向量號)計算對應(yīng)中斷向量在表中

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論