精華區beta Programming 關於我們 聯絡資訊
※ 引述《FreeF1y (ㄝ夫嗄一一ㄝ夫歪)》之銘言: : ※ 引述《bert.bbs@bbs.csie.ncu.edu.tw (哇哩咧...)》之銘言: : : TSR 不結束程式的話怎麼能叫做 TSR? : 可能我不太了解DOS的運作方式吧!? : 我知道TSR的運作原理是把原本的Interrupt Vector Table取代掉 : 然後再把自己留在記憶體中 一般指的 TSR 是攔 int 1ch,因為它一秒會執行 18.2 次 所以程式有一部份每秒會被執行 18.2 次... 按某組合鍵可以喚出一個小視窗這類的程式... 就是如此 另一種取代某個 interrupt vector 並提供服務的叫 ISR (Interrupt Service Routine) 比如說 mouse driver 載入以後,其他程式才能用 int 33h 來用滑鼠 至於防毒軟體就攔 int 21h int 13h 這類的 : 關於留在記憶體的方法,我查到的資料是說 : DOS裡面有一個指標,負責標示出可用的記憶體的開頭 : 然後每次程式Load進來就從那個位置開始存 : 而TSR常駐記憶體的方法就是把標示可用記憶體的指標往後移 : 使得程式的前半段留在記憶體中 : 這是原始網頁 : http://0rz.net/1c1pJ : 而我的問題是 : 這樣的機制,為什麼一定要程式結束才能完成? : 只是移動一個指標而已,應該不用一定要結束程式吧 : 所以我的問題應該是說 : 「有什麼方法可以把程式常駐在記憶體之後不結束的呢?」 : 所以請不要再跟我說因為它叫TSR所以一定要結束.. : 以上 : 如果我的觀念有任何錯誤,還煩請指正 : 這部分我只是個初學者,不好意思 大概就上面說的那樣子囉.. 還有,學這個完全是浪費時間,因為已經過時再過時了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.5.10
FreeF1y:是作業Orz 06/03 01:21
shane123:學這個真的沒用了喔?? 06/03 06:50
meltice:可能因為教授只會這個東西吧 06/03 09:41