超碰在线91,国产第1页,国产精品99,最近中文字幕av

<video id="z2k50"><ins id="z2k50"></ins></video><small id="z2k50"><pre id="z2k50"><samp id="z2k50"></samp></pre></small>

    1. <video id="z2k50"><ins id="z2k50"></ins></video>

        中斷傳送方式

        發(fā)布時(shí)間:2024-08-13
        一、中斷的概念 1.中斷:一種使cpu中止正在執(zhí)行的程序而轉(zhuǎn)去處理特殊事件的操作。
        2.中斷源:引起中斷的事件。
        (1)內(nèi)部中斷源,由程序中安排的中斷指令int產(chǎn)生的中斷,或由cpu的某些錯(cuò)誤操作結(jié)果產(chǎn)生的中斷。
        ① 溢出中斷指令 into
        ② 中斷指令int n產(chǎn)生的中斷
        ③ cpu錯(cuò)誤引起的中斷
        ④ 為debug設(shè)置的中斷:?jiǎn)尾街袛?,斷點(diǎn)中斷
        (2)外部中斷源
        由外部設(shè)備隨機(jī)引起的一般由中斷控制器控制的中斷或某些處理器(8087/80287)引起的中斷。
        二、80x86 cpu的中斷源.
        如下圖所示。
        三、8086的中斷分類
        1.軟件中斷(內(nèi)中斷)
        1)中斷指令int引起的中斷:cpu執(zhí)行完一條int n (n不能為0、1、2、4的類型號(hào))指令后,會(huì)立即產(chǎn)生中斷,并且調(diào)用系統(tǒng)中相應(yīng)的中斷處理程序來完成中斷功能。
        2)處理cpu某些錯(cuò)誤的中斷(為處理運(yùn)算結(jié)果的錯(cuò)誤而設(shè)置)
        3)除法錯(cuò)中斷:中斷類型為0。又稱為除數(shù)為0中斷。
        4)溢出中斷:中斷類型為4。用into指令來中斷發(fā)生溢出的算術(shù)操作,并把控制交給操作系統(tǒng)(此時(shí)要求of=1并執(zhí)行into指令)。如果未發(fā)生溢出,此時(shí)of=0,則into不會(huì)引起中斷,繼續(xù)執(zhí)行下面的一條指令。
        5)為調(diào)試程序(debug)設(shè)置的中斷
        單步中斷:當(dāng)標(biāo)志位tf置為1時(shí),每條指令執(zhí)行后,cpu自動(dòng)產(chǎn)生類型1的中斷——單步中斷。
        斷點(diǎn)中斷:中斷類型為3。通常調(diào)試程序時(shí),把程序按功能分成幾段,然后每段設(shè)一個(gè)斷點(diǎn)。當(dāng)cpu執(zhí)行到斷點(diǎn)時(shí)便產(chǎn)生中斷,這時(shí)程序員可以檢查各寄存器及有關(guān)存儲(chǔ)單元的內(nèi)容。
        軟終端過程
        2.硬件中斷(外中斷):外中斷來自處理機(jī)的隨機(jī)發(fā)生的外部條件。
        外中斷源:有非屏蔽中斷(nmi腳)和可屏蔽中斷(intr腳)兩大類。
        外中斷與cpu的連接
        非屏蔽中斷接至8086/8088 cpu的nmi腳(17腳)。
        可屏蔽中斷通過8259a可編程中斷控制器接至8086/8088 cpu的intr腳(18腳)。
        3.cpu響應(yīng)可屏蔽外中斷(intr)的條件
        if=1才響應(yīng)intr請(qǐng)求的中斷。
        intr未被8259a的中斷屏蔽寄存器(imr)屏蔽。
        imr的i/o端口地址為21h。其8位對(duì)應(yīng)8個(gè)外設(shè)的中斷請(qǐng)求。
        某位為0允許該外設(shè)中斷,某位為1則禁止該外設(shè)中斷。
        4.cpu響應(yīng)非屏蔽外中斷(nmi)是無條件的。該中斷類型號(hào)為2。
        8259a的中斷結(jié)束命令eoi及中斷命令寄存器(ocw2)
        8259a的中斷命令寄存器的端口地址為20h。其內(nèi)容為:
        中斷結(jié)束命令eoi是使8259a的中斷命令寄存器的第5位(eoi位)置1,清除當(dāng)前中斷服務(wù)寄存器isr中對(duì)應(yīng)的isn位,以告訴8259a該中斷已結(jié)束。
        四、中斷向量表
        1.中斷類型號(hào):每個(gè)中斷都被安排一個(gè)以示區(qū)別的8位的類型編號(hào)稱為中斷類型號(hào)。80x86中斷系統(tǒng)能處理256種類型的中斷,類型號(hào)為0~0ffh。
        2.中斷向量表:各個(gè)中斷類型的處理子程序的入口地址表。存放于00000~003ffh的1kb單元中。低兩位字節(jié)存放中斷處理程序的偏移地址,高兩位存放段地址。每個(gè)類型的中斷向量地址占用4個(gè)字節(jié)的存儲(chǔ)單元。
        3.內(nèi)部中斷的操作步驟
        (1)取中斷類型號(hào);
        (2)計(jì)算中斷向量地址;
        (3)取中斷向量:偏移地址→(ip),段地址→(cs);
        (4)轉(zhuǎn)入執(zhí)行中斷處理程序;
        (5)中斷返回到int指令的下一條指令。
        4.設(shè)置中斷向量:在檢查或設(shè)置任何中斷向量時(shí),總是避免直接使用中斷向量的絕對(duì)地址,而是使用dos系統(tǒng)功能調(diào)用(21h)存取中斷向量。
        1)設(shè)置中斷向量:把由al指定的中斷類型的中斷向量ds:dx放置到中斷向量表中。
        預(yù)置:ah=25h
        al=中斷類型號(hào)
        ds:dx=中斷向量
        執(zhí)行:int21h
        2)取中斷向量:把由al指定的中斷類型的中斷向量從中斷向量表中取到es:bx中。
        預(yù)置:ah=35h
        al=中斷類型號(hào)
        執(zhí)行:int21h;中斷向量作為出口信息已在es:bx中
        5.中斷過程:當(dāng)中斷發(fā)生時(shí),由中斷機(jī)構(gòu)自動(dòng)完成下列動(dòng)作:
        (1)取中斷類型號(hào)n
        (2)標(biāo)志寄存器(flags)內(nèi)容入棧
        (3)當(dāng)前代碼段寄存器(cs)內(nèi)容入棧
        (4)當(dāng)前指令計(jì)數(shù)器(ip)內(nèi)容入棧
        (5)禁止外部中斷和單步中斷( if=0,tf=0 )
        (6)從中斷向量表中取(4×n)中的字節(jié)內(nèi)容送ip,取(4×n+2)中的字節(jié)內(nèi)容送cs
        (7)轉(zhuǎn)中斷處理程序。中斷處理程序需注意:
        1)如在執(zhí)行中斷處理程序中還允許中斷,可用sti置if=1來開中斷;
        2)注意保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng);
        3)中斷處理程序返回時(shí)使用iret指令。
        6.中斷優(yōu)先級(jí)和中斷嵌套
        2)ibm pc的可屏蔽中斷(intr)的優(yōu)先級(jí)由高到低為:ir0,ir1,ir2,ir3,ir4,ir5,ir6,ir7。但是可以由8259a的中斷命令寄存器(ocw2)的最高兩位d7、d6位
        3)置為循環(huán)的優(yōu)先級(jí)。
        4)中斷嵌套:正在運(yùn)行的中斷處理程序又被中斷稱為中斷嵌套。
        一般是高級(jí)中斷嵌套低級(jí)中斷,此時(shí)要求低級(jí)中斷的處理程序中要有開中斷指令sti。被同級(jí)或低級(jí)中斷源嵌套,除了使if=1外,還要求向8259a發(fā)中斷結(jié)束命令eoi。
        7.中斷處理程序
        1)中斷準(zhǔn)備:在主程序中設(shè)置。
        設(shè)置中斷向量
        設(shè)置設(shè)備的中斷屏蔽位
        設(shè)置cpu的中斷允許位if (開中斷)
        2)中斷響應(yīng):由硬件自動(dòng)完成。
        外設(shè)接口送中斷請(qǐng)求給cpu
        當(dāng)前指令執(zhí)行完后,cpu送中斷響應(yīng)信號(hào)給外設(shè)接口
        cpu接收中斷類型號(hào)
        當(dāng)前的flags,cs和ip保存入棧
        清除tf和if
        中斷向量送ip和cs
        3)中斷處理程序的編寫方法與標(biāo)準(zhǔn)子程序類似,編寫步驟如下:
        保護(hù)現(xiàn)場(chǎng),即保存寄存器內(nèi)容
        如允許中斷嵌套,則開中斷(sti) 使if=1
        處理中斷內(nèi)容
        關(guān)中斷
        送中斷結(jié)束命令(eoi)給8259a的中斷命令寄存器(ocw2)以清除8259a的isr中對(duì)應(yīng)的isn位
        恢復(fù)現(xiàn)場(chǎng),即恢復(fù)寄存器的內(nèi)容
        返回被中斷的程序(iret,中斷返回)
        上一個(gè):普洱茶是陳放時(shí)間越長茶湯越紅嗎?
        下一個(gè):養(yǎng)蘭法-組培苗的養(yǎng)護(hù)

        原神孤獨(dú)的海獸任務(wù)怎么過(元神任務(wù)孤獨(dú)的海獸)
        春耕備戰(zhàn)賽開啟 農(nóng)業(yè)機(jī)械成主力軍
        401005德國JUMO壓力變送器故障判斷
        鑄鐵砝碼型號(hào)|價(jià)格--表面應(yīng)有適當(dāng)?shù)慕饘馘儗踊蛲繉?/a>
        集熱式恒溫加熱磁力攪拌器采用集熱式 無級(jí)調(diào)速 0-2600 室溫-400℃
        手寫訂婚書怎么寫 手寫訂婚書范本
        真空干燥箱的水份抽到哪里去了
        茶,喝的是一種心境,品的是一種情調(diào)
        農(nóng)村婚禮搭棚效果圖 一般需要多少錢
        RTT038R06FTP現(xiàn)貨庫存,最新價(jià)格