作者learnerQQ (小銓)
看板C_and_CPP
標題[問題] 有關副程式
時間Wed Oct 28 12:53:29 2009
最近有寫了一個小程式,主要是把文字檔讀進來~(我是用 C的 FILE* 開檔)
這個文字檔裡面,有許多 指令...(有點類似 MIPS lw ,sw... )
但是不會很複雜,只有加法 跟減法 還有載入數字等 指令~
我本來是想 讀取一行 執行一行的,但規定說要 模擬作業系統!
當CPU 執行工作(job) 到一半時,突然有 中斷(interrupt) 發生
先把指令 LOAD到 記憶體,先處理這個 Interrupt內容~ 原本的工作 先用PC記錄
所以我原本想法: 一次讀取一行 並且執行 ,可能不行了..
因為這樣好像 OS 始終 都在執行它的 job~, 題目要求用function 模擬 interrupt!
請問各位,可能把這些指令 寫成一個副程式 ,再去 CALL 副程式嗎?
因為我從以前學 C 語言 都已經習慣自己定 Functions.... 再去 compiler..
現在要我 去 call 別人定的 副程式,而且副程式還是從別的文字檔裡讀取的....
就很一頭霧水 ~"~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.40.115.158
1F:推 VictorTom:file裡的東西是可以改的吧?? 那你不太可能寫一個固定的 10/28 13:20
2F:→ VictorTom:副程式; 這感覺是你要寫一個interpreter即時來吃這些指 10/28 13:20
3F:→ VictorTom:令處理. interrupt的部份看要怎麼模擬(multithread嗎??) 10/28 13:21
4F:→ VictorTom:偷雞的想法是每一條指令執行完去check某個叫interupt的 10/28 13:22
5F:→ VictorTom:flag, 有外部資料設定它, 就當中斷發生做相應的處理. 10/28 13:22
6F:→ VictorTom:要interrupt主動中斷你的interpreter, 感覺要用event 10/28 13:24
7F:→ VictorTom:driven的作法搭配/模擬callback function來做?_? 10/28 13:25
8F:推 ledia:應該是一隻 thread 吃 command, 一隻 thread 模擬 ? 10/28 13:34
9F:→ ledia:well, multi-thread or multi-process 可以再定論 10/28 13:35
10F:→ ledia:可能一般時候是從 pipe 之類的讀 command 模擬 10/28 13:35
11F:→ ledia:有 interrupt 時再送 signal 10/28 13:36
12F:→ ledia:啊 我講得很亂, 主詞變換不定... 反正是這個意思啦 囧 10/28 13:36
13F:→ learnerQQ:大概懂一點 還是先謝謝各位熱心提示 副程式恐怕不行XD 10/28 18:46
14F:→ learnerQQ:那如果輸入的指令 先存檔 可以載入指令 再用副程式嗎?? 10/28 18:50