1樓:有貨
8086cpu的中斷系統具有256箇中斷,每個中斷用一個唯一的中斷向量號標識。向量號也稱為向量號或型別號,它用一個位元組表示:0 ~ 255,對應256箇中斷。
8086的中斷可以分成外部中斷和內部中斷兩類。
(1)外部中斷
外部中斷是來自8086cpu之外的原因引起的程式中斷。它又分成兩種情況:
· 可遮蔽中斷——外部的這個中斷請求可以在cpu的內部被遮蔽掉,即cpu可以控制它是否引起程式中斷。標誌暫存器中的中斷允許標誌if就是用於控制可遮蔽中斷的。
· 非遮蔽中斷——外部的這個中斷請求不能在cpu的內部被遮蔽,cpu必須執行它的處理程式。8086為非遮蔽中斷分配了中斷向量號02。
(2)內部中斷
內部中斷是由於8086cpu內部執行程式引起的程式中斷。它又分成多種情況:
· 除法錯中斷——在執行除法指令時,若除數為0或商超過了暫存器所能表達的範圍,則產生除法錯中斷。8086為它分配的向量號為0。
· 指令中斷——執行中斷呼叫指令int n就產生指令中斷,也稱為軟體中斷,它的向量號就是n。
int n指令為2位元組指令(機器碼為11001101 —n—,第2個位元組就是中斷向量號n),但向量號為3的指令中斷(int 3)是1位元組指令(11001100),較特殊,常用做程式除錯的斷點中斷。
除錯程式debug中的g命令就是利用斷點中斷(3號中斷)中止被除錯程式的。使用debug除錯程式時,如果在程式段最後加上一條int 3指令,就可以停止程式執行,而不必設定斷點了。
· 溢位中斷——在執行溢位中斷指令into時,若溢位標誌of為1,則產生溢位中斷。它的向量號為4。
· 單步中斷——若單步標誌tf為1,則在每條指令執行結束後都產生單步中斷。它的向量號為1。
除錯程式debug中的t命令就利用了單步中斷。
2樓:
考試題吧?是不是微機介面啊?
3樓:匿名使用者
通過資料匯流排將中斷型別好傳遞給cpu
簡述8086cpu的堆疊操作原理
ss 16 sp指向棧頂,和bp沒有任何關係,只不過bp定址時預設段暫存器是ss 當8086進行堆疊操作時,cpu會選擇什麼段暫存器 當8086進行堆疊操作時,cpu會選擇 堆疊 段暫存器,再和 堆疊指標sp 或者 基址指標bp形成20位堆疊位址。簡述8086 cpu的暫存器組織。解 1 通用暫存器...
現在大學中教授8086彙編還有沒有用
中斷相當於api,自己編寫的中斷寫入中斷向量表,當程式結束就會消失,可以在實模式下寫入 上大學到底有沒有用 北大整體畢業的 肯定比你乙個 省屬院校素質高得多 這是毋庸置疑的 所以他通過這個過程 學歷的篩選 把你初級 選擇人才的選擇成本 給降低了 老是有人說讀書無用,那麼讀書真的無用嗎?在您有條件的情...
java中多執行緒在多核cpu中是真的同時執行嗎
如果是單核cpu,在某個時間點只能執行乙個執行緒,但是多核cpu你可以理解為多個單核cpu,當然可以同時執行多個執行緒啦。多核心cpu在同一時刻真的能同時執行多個執行緒嗎?多核心cpu是真正意義上的多個物理cpu嗎?與超執行緒cpu在邏輯上模擬雙核不同,多核cpu每個核心都可以獨立執行乙個執行緒,是...