Re: [問題] 關於interrupt handler中的組語

看板ASM (組合語言)作者 (ggg)時間17年前 (2007/09/25 09:04), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《willhunting (這些年來)》之銘言: : 標題: [問題] 關於interrupt handler中的組語 : 時間: Sun Sep 23 18:07:52 2007 : 想請問一下,大部分的作業系統都可以看到interrupt handler中 : 有不少的組語。雖然說這幾年也出了一些純粹用高階語言寫的handler : ,但就一般情況來說,除了速度上的考量外,還有什麼理由是interrupt : handler經常是用組語來寫的理由呢?謝謝 : → wuzen:code size 09/23 21:15 ========== OS 中的 interrupt handler 跟一般組語寫的 interrupt handler 是有差異的. 1. OS 的 ISR(Interrupt service routine) 只記錄與傳遞事件, 很少直接進行處理, 以免延誤下一個 Interrupt request 2. OS 的 hardware interrupt return 通常不會直接回到被中斷 的程式, 而是將機器的主控權交回 dispatcher/scheduler , 所以會對 return-address 做一些處理, 再執行 RETI . 3. OS 的 trap interupt 會對 system call interrupt 做對應 代碼的呼叫, 甚至檢查 mutual exclusive lock 與換 stack 之後, 也是會更動 return 執行次序. 一般高階語言不做這種細膩的宣告與編譯. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.6.234
文章代碼(AID): #16-5wfE8 (ASM)
文章代碼(AID): #16-5wfE8 (ASM)