作者cooller (Ending)
看板Programming
標題Re: [組語]關於TSR
時間Sat Jun 3 01:15:11 2006
※ 引述《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