<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 9.2 允許和禁止中斷(Enabling and Disabling Interrupts) 處理器只在一條指令結束和下一條指令開始之間進行中斷服務。當一個串指令有REP前綴時,中斷和異常可以在每次疊代期間發生。所以長的串指令不會使處理器長時間不響應中斷。 一定的條件和標志設置了以后,處理器會在指令邊界禁止一些中斷和異常。 ### 9.2.1 NMI 屏蔽后來的NMIS(NMI Masks Further NMIS) 當一個NMI處理程正在執行時,處理器忽略后來的NMI引腳發送過來的中斷信號,一直到下一條IRET指令被執行。 ### 9.2.2 IF 屏蔽INTR(IF Masks INTR) IF標志(interrupt-enable flag)控制著處理器是否接受由INTR引腳引起的外部中斷。當IF=0時,INTR中斷被屏蔽。當IF=1時,INTR中斷被允許。和其它標志位一樣,處理器在接收到一個RESET信號時,將清除IF位。CLI和STI指令用于改變IF位。 CLI(清中斷允許位)和STI(設置中斷允許位)顯示的設置IF位(標志寄存器的位-9)。這些指令只能在CPL&lt;=IOPL時才可以執行。如果CPL&gt;=IOPL時,執行這些指令將引發通用保護異常。 IF被以下指令隱式的操作: + PUSHF存儲所有標志,包含IF,到堆棧上,這樣他們就可以被檢測了。 + 任務切換和POPF指令、IRET指令都加載標志寄存器。因此,將更改IF位。 + 通過中斷門的中斷將自動清除IF位,禁止中斷。(這一章后面將介紹中斷門) ### 9.2.3 RF 屏蔽調試錯誤(RF Masks Debug Faults) 標志寄存器中的RF位控制著調試中斷的識別。這樣可以在一條指令只引發一次調試中斷,不管多少次的指令重起。(關于調試,參看第12章) ### 9.2.4 MOV 或POP 到SS將屏蔽一些中斷和異常(MOV or POP to SS Masks Some Interrupts and Exceptions) 一些要改變堆棧段寄存器的軟件通常會這樣做: MOV SS,AX MOV ESP,StackTop 如果在SS加載后,而ESP加載前發生了一個中斷或異常,在中斷處理程序中堆棧的兩部分將是不一致。 為了防止這種情況發生,80386在一條MOV 或POP向SS加載了值后,將會在指令的邊界屏蔽INTR、NMI、調試異常、單步陷阱等。但一些異常還是可能發生的,例如,缺頁異常和通用保護異常。如果總是使用80386的LSS指令,則不會產生這個問題。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看