home *** CD-ROM | disk | FTP | other *** search
- Åᡬ«ó ₧.ê.
-
- êß»«½∞º«óá¡¿Ñ PSP ó TSR »α«úαá¼¼áσ.
- ═══════════════════════════════════
-
- PSP (Program SegmentPrefix) - »αÑΣ¿¬ß »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá.
- TSR (Terminate and Stay Resident) - ºáóÑαΦ¿Γ∞ ¿ «ßΓáΓ∞ß∩ αÑ-
- º¿ñÑ¡Γ«¼.
- MCB (Memory Control Block) - í½«¬ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε.
-
- Éáßß¼áΓα¿óáÑΓß∩ ó«»α«ß ¿ß»«½∞º«óá¡¿∩ PSP TSR »α«úαἼἿ.
- ùΓ« »«íπñ¿½« ¼Ñ¡∩ ¡á»¿ßáΓ∞ ñá¡¡πε ßΓáΓ∞ε? ìÑ Γᬠñáó¡« ∩
- »α«τѽ ßΓáΓ∞ε "úαπ»»δ »α«úαá¼¼¿ßΓ«ó 2é" éÑα¡Ñαá é.Ç. ¿ æÑαÑú¿¡á
- é.é.: "滫߫í ß«ºñá¡¿∩ TSR »α«úαá¼¼ íѺ PSP". êº ¬«Γ«α«⌐ ß½Ññπ-
- ÑΓ, τΓ« óßÑ áóΓ«α߬¿Ñ »αáóá »« ¿ß»«½∞º«óá¡¿ε PSP ó TSR »α«úαá¼-
- ¼áσ »α¿¡áñ½ÑªáΓ "úαπ»»Ñ 2é". ƒ ¿ß»«½∞ºπε PSP ó ßó«¿σ TSR »α«ú-
- αá¼¼áσ ó«Γ πªÑ 2 ú«ñá. "âαπ»»«⌐ 2é" αáºαáí«Γá¡ «α¿ú¿¡á½∞¡δ⌐
- á½ú«α¿Γ¼ ¿ß»«½∞º«óá¡¿∩ PSP :
- - «ßó«í«ªñáÑΓß∩ ENVIROMENT ¿ ¬«ααÑ¬Γ¿απÑΓß∩ αẼÑα »á¼∩Γ¿,
- ºá¡¿¼áѼ«⌐ »α«úαá¼¼«⌐; »α¿ φΓ«¼ DOS ßΓα«¿Γ ¡«óδ⌐ í½«¬
- MCB ßαáºπ ºá ¬«¡µ«¼ íπñπεΘÑ⌐ TSR »α«úαá¼¼δ;
- - ó ΓÑ½Ñ ßἫ⌐ »α«úαá¼¼δ, ßαáºπ ºá MCB ßαÑñßΓóἿ DOS
- ßΓα«¿Γß∩ ¡«óδ⌐ PSP 𠬫ëα«ú« ¬«ααÑ¬Γ¿απÑΓß∩ áñαÑß α«ñ¿-
- Γѽ∞߬«ú« PSP (¬«»¿απÑΓß∩ ß« ßΓáα«ú«);
- - ¡«óδ⌐ PSP π¬áºδóáÑΓß∩ DOS ó ¬áτÑßΓóÑ ΓѬπΘÑú«;
- - ¬«ααÑ¬Γ¿απÑΓß∩ π¬áºáΓѽ∞ ¡á ß«íßΓóÑ¡¡¿¬á »á¼∩Γ¿ ó ¡«ó«¼
- MCB ¡á ßÑú¼Ñ¡Γ¡δ⌐ áñαÑß ¡«ó«ú« PSP;
- - αѺ¿ñÑ¡Γ¡á∩ τáßΓ∞ »α«úαá¼¼δ »ÑαÑßδ½áÑΓß∩ »« áñαÑßπ ßÑú-
- ¼Ñ¡Γá ßΓáα«ú« PSP ß« ß¼ÑΘÑ¡¿Ñ¼ 0;
- - ñá½ÑÑ »α«úαá¼¼á ºáóÑαΦáÑΓß∩ «íδτ¡δ¼ «íαẫ¼ »« Σπ¡¬µ¿¿
- DOS 04ch ¿½¿ »« INT 20h.
- î¡«ε αáºαáí«Γá¡ ¿¡«⌐ á½ú«α¿Γ¼ ¿ß»«½∞º«óá¡¿∩ PSP TSR »α«ú-
- αἼἿ, ¬«Γ«αδ⌐ íδ½ πß»ÑΦ¡« ¿ß»«½∞º«óá¡ »α¿ αáºαáí«Γ¬Ñ αѺ¿-
- ñÑ¡Γ¡δσ »α«úαá¼¼ - ñαá⌐óÑα«ó: PU_KBG, PU_KBGM, PU_DISKM,
- PU_VEGAM, PU_TIMEM, PU_INPRN ¿ ¼¡«ú¿σ ñαπú¿σ.
-
- 2
-
- 1. Äß¡«ó¡δÑ »«¡∩Γ¿∩.
- ───────────────────
- 1.1. ö«α¼áΓ »αÑΣ¿¬ßá »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá.
-
- PSP αẼÑα«¼ 256 íá⌐Γ ßΓα«¿Γß∩ DOS »α¿ ºá»π᪥ »α«úαá¼¼δ,
- óßÑúñá »αÑñΦÑßΓóπÑΓ Ñ⌐ ¿ ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ Σ«α¼áΓ:
-
- PSP? Struc
- PSP_int_20 db 0cdh,020h ;00h - INT 20 ñ½∩ ºáóÑαΦÑ¡¿∩
- ; »α«úαá¼¼δ
- PSP_top dw ? ;02h - N 1 ßó«í«ñ¡«ú« »áαáúαáΣá.
- PSP_rsv1 db 6 dup(?) ;04h - É Ñ º Ñ α ó
- ; ÇñαÑß ºáóÑαΦÑ¡¿∩ »α«úαá¼¼δ - ¬«»¿∩ óÑ¬Γ«αá 22h:
- PSP_tm_ip dw ? ;0ah
- PSP_tm_cs dw ? ;0ch
- ; ÇñαÑß óδσ«ñá »« Ctrl-Break - ¬«»¿∩ óÑ¬Γ«αá 23h:
- PSP_cb_ip dw ? ;0eh
- PSP_cb_cs dw ? ;10h
- ; ÇñαÑß óδσ«ñá »« ΣáΓá½∞¡«⌐ «Φ¿í¬Ñ - ¬«»¿∩ óÑ¬Γ«αá 24h:
- PSP_er_ip dw ? ;12h
- PSP_er_cs dw ? ;14h
- ; æÑú¼Ñ¡Γ¡δ⌐ áñαÑß α«ñ¿Γѽ∞߬«ú« PSP
- PSP_ow_cs dw ? ;16h
- ; File Handle Table - 20 ¿¡ñѬ߫ó ñ½∩ ß¿ßΓѼ¡«⌐ Γáí½. Σá⌐½«ó
- PSP_fht db 20 dup(?) ;18h - File Handle Table
- ; æÑú¼Ñ¡Γ¡δ⌐ áñαÑß ßαÑñδ »α«µÑßßá (ENVIROMENT)
- PSP_env dw ? ;2ßh
- PSP_rsv2 db 34 dup(?) ;2eh - É Ñ º Ñ α ó
- PSP_dos db 0cdh,021h ;50h - INT 21 - «íα. ¬ Σ. DOS
- PSP_rsv3 db 3 dup(?) ;52h - É Ñ º Ñ α ó
- PSP_efcb1 db 7 dup(?) ;55h - αáßΦ¿αÑ¡¿Ñ FCB1
- PSP_fcb1 db 16 dup(?) ;5ch - ìÑ «Γ¬αδΓδ⌐ FCB1
- PSP_fcb2 db 16 dup(?) ;6ch - ìÑ «Γ¬αδΓδ⌐ FCB2
- PSP_rsv4 db 4 dup(?) ;7ch - É Ñ º Ñ α ó
- ; Äí½áßΓ∞ DTA »« π¼«½τá¡¿ε ¿:
- PSP_lparm db ? ;80h - 使¡á »«½∩ »áαá¼ÑΓα«ó
- PSP_parm db 127 dup(?) ;81h - Å«½Ñ »áαá¼ÑΓα«ó
- PSP? Ends
-
- 1.2. ö«α¼áΓ í½«¬á π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε.
-
- MCB αẼÑα«¼ 16 íá⌐Γ ßΓα«¿Γß∩ DOS, «»¿ßδóáÑΓ ¬áªñδ⌐ αáß»-
- αÑñѽѡ¡δ⌐ πτáßΓ«¬ »á¼∩Γ¿, óßÑúñá »αÑñΦÑßΓóπÑΓ PSP; ßÑú¼Ñ¡Γ
- ó½áñѽµá Γᬫú« MCB óßÑúñá π¬áºδóáÑΓ ¡á PSP. éßÑ í½«¬¿ MCB ó
- »á¼∩Γ¿ «íαáºπεΓ «ñ¡«ßó∩ºá¡¡δ⌐ ß»¿ß«¬, ¡áτὫ ¬«Γ«α«ú« ¼«ª¡« «»-
- αÑñѽ¿Γ∞ 52h Σπ¡¬µ¿Ñ⌐ DOS. MCB ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ Σ«α¼áΓ:
-
- MCB? Struc
- ; Æ¿» í½«¬á - "M" (4dh) - »α«¼ÑªπΓ«τ¡δ⌐
- MCB_type db ? ;"Z" (4ah) - ¬«¡Ñτ¡δ⌐
- ; æÑú¼Ñ¡Γ ó½áñѽ∞µá í½«¬á (0 - ßó«í«ñ¡δ⌐ í½«¬ - ó½áñѽѵ DOS):
- MCB_own_cs dw ? ;01h - CS
- MCB_Lp dw ? ;03h - ñ½¿¡á í½«¬á ó »áαáúαáΣáσ
- MCB_rsv1 db 3 dup (?) ;05h - É Ñ º Ñ α ó
- MCB_rsv2 db 8 dup (?) ;08h - É Ñ º Ñ α ó
- ; (¿¡«úñá ¿¼∩ σ«º∩¿¡á)
- MCB? Ends
-
- 3
-
- 1.3. Žᡠ»á¼∩Γ¿ »α¿ ºáúαπº¬Ñ »α«úαá¼¼δ.
-
- ┌─────────────┐
- │ MCB │ PSP α«ñ¿Γѽ∩
- │01h ─────────┼────┐ ^
- │ │ │ │
- ├─────────────┤ │ │
- │ PSP │<───┘ │
- │ │ │
- │16h ─────────┼──────────┘
- │ │
- │2ch ─────────┼────>┌────────────┐
- │ │ │ ENVIROMENT │
- │ │ └────────────┘
- ├─────────────┤
- │ │
- │ PGM │
- └─────────────┘
- É¿ß.1
-
- 2. êß»«½∞º«óá¡¿Ñ PSP TSR »α«úαἼἿ.
- ─────────────────────────────────────
- ŽᡠΣαáú¼Ñ¡Γá »á¼∩Γ¿ »«ß½Ñ ºáúαπº¬¿ »α«úαá¼¼δ ó «»ÑαáΓ¿ó-
- ¡πε »á¼∩Γ∞ ¿º«íαáªÑ¡ ¡á α¿ß.1.
- àß½¿ TSR »α∩¼« ¿½¿ ¬«ßóÑ¡¡« ¡Ñ ¿ß»«½∞ºπÑΓ «í½áßΓ∞
- ENVIROMENT, Γ« ÑÑ ¡áñ« «ßó«í«ñ¿Γ∞.
- TSR »α«úαá¼¼δ, ¿ß»«½∞ºπεΘ¿Ñ óÑß∞ PSP ¡áºδóáεΓ TSR »α«úαá¼-
- ¼á¼¿ íѺ PSP. ì¿ªÑ ñáÑΓß∩ á½ú«α¿Γ¼ »«ßΓα«Ñ¡¿∩ »α«úαá¼¼ íѺ PSP
- ( ¿½¿ ß τáßΓ¿τ¡δ¼ Ñú« ¿ß»«½∞º«ó᡿Ѽ), αáºαáí«Γá¡¡δ⌐ áóΓ«α«¼.
- æπΘ¡«ßΓ∞ Ñú« ß«ßΓ«¿Γ ó »ÑαѼÑΘÑ¡¿¿ »α«úαá¼¼δ ó «í½áßΓ∞ PSP ÅÄæ-
- ïà çÇéàÉÿàìêƒ 31h Σπ¡¬µ¿¿ DOS ¿½¿ INT 27h.
- ò«α«Φ« ¿ºóÑßΓ¡δ⌐ π ¡áß ó ßΓαá¡Ñ ñαá⌐óÑα "800" ¿ß»«½∞ºπÑΓ
- Γ«½∞¬« ¡¿ª¡εε »«½«ó¿¡π PSP.
-
- 2.1. ǽú«α¿Γ¼ ¿¡¿µ¿á½¿ºáµ¿¿ TSR »α«úαá¼¼ ß ¿ß»«½∞º«ó᡿Ѽ PSP.
-
- 1. Ä»αÑñѽ¿Γ∞ ¬«¡Ñµ αѺ¿ñÑ¡Γ¡«⌐ τáßΓ¿ »α«úαá¼¼δ (EndRes),
- óδα«ó¡Ñ¡¡δ⌐ ¡á úαá¡¿π »áαáúαáΣá.
- 2. çừ¼¡¿Γ∞ 16 íá⌐Γ αѺ¿ñÑ¡Γ¡«⌐ τáßΓ¿ »α«úαá¼¼δ »« ß¼ÑΘÑ-
- ¡¿ε EndRes-Delta ó ߻ѵ¿á½∞¡« «ΓóÑñÑ¡¡«¼ íπΣÑαÑ, úñÑ:
- Delta - óѽ¿τ¿¡á »ÑαѼÑΘÑ¡¿∩ »α«úαá¼¼δ (¬αáΓ¡á 16)
- ä½∩ TSR íѺ PSP Delta=100h
- é φΓπ «í½áßΓ∞ DOS αáß»«½«ª¿Γ »«ß½Ññ¡¿⌐ MCB í½«¬ »«ß½Ñ
- αѺ¿ñÑ¡Γ¡«ú« ºáóÑαΦÑ¡¿∩ »α«úαá¼¼δ (É¿ß.2).
- 3. Äßó«í«ñ¿Γ∞ í½«¬ ßαÑñδ, Ñß½¿ φΓ« ¡Ñ«íσ«ñ¿¼«.
- 4. ÅÑαÑ«»αÑñѽ¿Γ∞ π¬áºáΓѽ∞ óδσ«ñá PSP_tm (ß¼ÑΘÑ¡¿Ñ 0ah)
- π¬áºáΓѽѼ ¡á »α«úαá¼¼π-ỻѡñ¿¬ß óδσ«ñá ó DOS (».2.2).
- 5. éδτ¿ß½¿Γ∞ ñ½¿¡π αѺ¿ñÑ¡Γ¡«⌐ τáßΓ¿ »α«úαá¼¼δ ó »áαáúαá-
- Σáσ ß πτÑΓ«¼ »ÑαѼÑΘÑ¡¿∩ ó PSP:
- LTSR=(EndRes-Delta)/16
- çừ¼¡¿Γ∞, ¬á¬ ¼¿¡¿¼π¼, αÑú¿ßΓαδ SS ¿ SP .
- 6. çáóÑαΦ¿Γ∞ »α«úαá¼¼π »« Σπ¡¬µ¿¿ DOS 31h ¿½¿ INT 27h.
-
- 4
-
- 2.2. ǽú«α¿Γ¼ »α«úαá¼¼δ-ỻѡñ¿¬ßá óδσ«ñá ó DOS.
-
- 1. é«ßßΓá¡«ó¿Γ∞, ¬á¬ ¼¿¡¿¼π¼, αÑú¿ßΓαδ SS ¿ SP.
- 2. ÅÑαѼÑßΓ¿Γ∞ αѺ¿ñÑ¡Γ¡πε τáßΓ∞ »α«úαá¼¼δ ó PSP.
- 3. é«ßßΓá¡«ó¿Γ∞ 16 íá⌐Γ »α«úαá¼¼δ »« ß¼ÑΘÑ¡¿ε
- EndRes-2*Delta «Γ ¡«ó«ú« ¡áτá½á »α«úαá¼¼δ ¿º íπΣÑαá.
- 4. ôßΓá¡«ó¿Γ∞ ΓαÑíπѼδÑ óÑ¬Γ«αá »αÑαδóá¡¿⌐, Ñß½¿ φΓ« ¡Ñ«í-
- σ«ñ¿¼«. Åα¿ πßΓá¡«ó¬Ñ óÑ¬Γ«α«ó ¡Ñ«íσ«ñ¿¼« πτÑßΓ∞
- ¡«ó«Ñ º¡áτÑ¡¿∩ ßÑú¼Ñ¡Γá TSR = CS-Delta/16.
- 5. ÄßπΘÑßΓó¿Γ∞ ñ½¿¡¡δ⌐ »ÑαÑσ«ñ »« óÑ¬Γ«απ 22h.
-
- 2.3. Žᡠ»á¼∩Γ¿ ¡á óσ«ñÑ »α«úαá¼¼δ-ỻѡñ¿¬ßá
- óδσ«ñá ó DOS (Delta=100h).
-
- ╔═══════╗ LTSR - ñ½¿¡á αѺ¿ñÑ¡Γ¡«⌐
- ║ MCB ║ τáßΓ¿ »α«úαá¼¼δ ó
- ╠═══════╣───────────── íá⌐Γáσ ¬αáΓ¡á∩ »á-
- │ PSP │ ^ αáúαáΣπ.
- ╠═══════╣───── │
- ║ ║ ^ │ LMSB - ñ½¿¡á í½«¬á »á¼∩Γ¿
- ───╫─ ─ ─ ─╢ │ │ ó »áαáúαáΣáσ.
- | ║ Save ║ │ LTSR │
- 100h │ ║─ ─ ─ ─║ │ │ LMCB Save - «í½áßΓ∞ αáß»αÑñÑ-
- | ║ ║ | │ ½Ñ¡¿∩ ¡«ó«ú« MCB.
- EndRes──╫ ╫───── │
- │─ ─ ─ ─│ │ Buffer - «í½áßΓ∞ ß«σαá¡Ñ¡¿∩
- │ Buffer│ │ «í½áßΓ¿ Save.
- │─ ─ ─ ─│ │
- │ │ |
- └───────┴──────────────
-
- É¿ß.2
-
- 2.5. Žᡠ»á¼∩Γ¿ ¡á óδσ«ñÑ »α«úαá¼¼δ-ỻѡñ¿¬ßá
- óδσ«ñá ó DOS (Delta=100h).
-
- ╔═══════╗
- ║ MCB ║
- ───╠═══════╣ EndRes1 - ß¼ÑΘÑ¡¿Ñ ¬«¡µá »Ñ-
- | ║ ║ αѼÑΘÑ¡¡«⌐ TSR
- LMCB │ ║ ║ »α«úαá¼¼δ.
- │ ║─ ─ ─ ─║─── EndRes1-200h
- LTSR │ ║ Save1 ║
- | ║─ ─ ─ ─║ LMCB1 - ñ½¿¡á ¡«ó«ú« í½«¬á
- ───╠═══════╣─── EndRes1 »á¼∩Γ¿ ó »áαáúα.
- │ MCB1 │
- ├───────┤───── Save1 - ó«ßßΓá¡«ó½Ñ¡¡á∩
- │ │ | «í½áßΓ∞ »α«úα.
- │ │ │
- │─ ─ ─ ─│ │ LMCB1 Buffer - «í½áßΓ∞ ß«σαá¡Ñ¡¿∩
- │ Buffer│ │ «í½áßΓ¿ Save.
- │─ ─ ─ ─│ │
- │ │ |
- └───────┘─────
-
- É¿ß.3
-
- 5
-
- 3. ÉÑ὿ºáµ¿∩ á½ú«α¿Γ¼á.
- ────────────────────────
- ÉÑ὿º«óá¡ Γ«½∞¬« ñ½∩ COM »α«úαá¼¼ «ñ¡«⌐ ¼á¬α«¬«¼á¡ñ«⌐
- EXir0? ¿ «ñ¡¿¼ «íÜÑ¬Γ¡δ¼ ¼«ñπ½Ñ¼ PU_Exir0. îá¬α«¬«¼á¡ñá Exir0?
- «ßπΘÑßΓó½∩ÑΓ »«ßΓα«Ñ¡¿Ñ í½«¬á π»αáó½Ñ¡¿∩ ºáóÑαΦÑ¡¿Ñ¼ TSR »α«ú-
- αá¼¼δ ¿ óδº«ó ¼«ñπ½∩ PU_Exir0, αÑ὿ºπεΘÑú« óδΦÑπ¬áºá¡¡δ⌐ á½ú«-
- α¿Γ¼.
-
- 3.1 ö«α¼áΓ ¼á¬α«¬«¼á¡ñδ Exir0?.
-
- Exir0? TPSP,EndRes,VList,Keep,UCall úñÑ:
-
- TPSP - ñ½¿¡á ó »áαáúαáΣáσ ¡Ñ¿º¼Ñ¡∩Ѽ«⌐ τáßΓ¿ PSP - «»αÑñÑ-
- ½∩ÑΓ áñαÑß ¡áτá½á »ÑαѼÑΘÑ¡¡«⌐ TSR »α«úαá¼¼δ. ä½∩
- TSR »α«úαá¼¼ íѺ PSP TPSP=0.
- EndRes - ß¼ÑΘÑ¡¿Ñ ¬«¡µá αѺ¿ñÑ¡Γ¡«⌐ τáßΓ¿ »α«úαá¼¼δ (óδαáó-
- ¡¿óá¡¿Ñ ¡á »áαáúαáΣ ¡Ñ «í∩ºáΓѽ∞¡«).
- VList - ß»¿ß«¬ πßΓá¡áó½¿óáѼδσ óÑ¬Γ«α«ó ó Σ«α¼áΓÑ:
-
- <<N1,Off1>,<N2,Off2>,...> úñÑ:
-
- N1, N2, ... - ¡«¼Ñαá óÑ¬Γ«α«ó
- Off1, Off2, ... - ß¼ÑΘÑ¡¿∩ »α«úαá¼¼-«íαáí«Γτ¿¬«ó
- »αÑαδóá¡¿⌐
- Keep - =Y / N - »αÑñ»¿ßδóáÑΓ «ßó«í«ñ¿Γ∞ / ¡Ñ «ßó«í«ªñáΓ∞
- í½«¬ ßαÑñδ (ENVIROMENT).
- UCall - áñαÑß »«ñ»α«úαá¼¼δ ñ«»«½¡¿Γѽ¡«⌐ «íαáí«Γ¬¿. UCall
- ¡Ñ«íσ«ñ¿¼, Ñß½¿ ¬α«¼Ñ πßΓá¡«ó¬¿ óÑ¬Γ«α«ó, ¡Ñ«íσ«ñ¿-
- ¼« óδ»«½¡¿Γ∞ ¡Ñ¬«Γ«αδÑ ñ«»«½¡¿Γѽ∞¡δÑ «»Ñαᵿ¿ »Ñ-
- αÑñ óδσ«ñ«¼ ó DOS.
-
- Æá¬¿¼ «íαẫ¼ »α«µÑßß ß«ºñá¡¿∩ TSR »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐
- PSP ¿½¿ ÑÑ τáßΓ∞ ßó«ñ¿Γß∩ ¬ óδñáτÑ ¼á¬α«¬«¼á¡ñδ Exir0? ß ¡Ñ«í-
- σ«ñ¿¼δ¼¿ «»Ñαá¡ñἿ ó ¿ßσ«ñ¡«¼ ΓѬßΓÑ »α«úαá¼¼δ.
-
- 3.2 »α¿¼Ñα »«ßΓα«Ñ¡¿∩ Σαáú¼Ñ¡Γ«ó TSR »α«úαá¼¼δ íѺ PSP.
-
- page 88,132 ;ÉẼÑα ßΓαá¡¿µδ
- ;
- ; Åα«úαá¼¼á »α¿¼Ñα »«ßΓα«Ñ¡¿∩ TSR »α«úαá¼¼δ íѺ PSP
- ; Åα«úαá¼¼¿ßΓ: Åᡬ«ó ₧.ê.
- ;
- ; äáΓá ß«ºñá¡¿∩: 4. 3.91
- ; äáΓá αÑñᬵ¿¿ ¿ N óÑαß¿¿:
- DAT_@@@ equ <04.03.91>
- VER_@@@ equ <V 1.0>
- ;
- Nam_@@@ equ <"PU_PSPRS">
- name PU_PSPRS
- ;
- out? <. ╔═════════════════╗>
- out? <. ║ P U _ P S P R S ║>
- out? <. ║ ║>
- out? <. ║ >,%VER_@@@,< >,%DAT_@@@,< ║>
- out? <. ╚═════════════════╝>
- ;
-
- 6
-
- ; Å«ñ¬½ετÑ¡¿Ñ ßÑαó¿ßá
- include MACRO_00.INC ;«íΘÑú« ¡áº¡áτÑ¡¿∩
- include MACRO_IO.INC ;Σπ¡¬µ¿¿ BIOS
- include MACRO_01.INC ;ñ«»«½¡¿Γѽ∞¡δÑ
- include MACROTBL.INC ;úÑ¡Ñαᵿ∩ Γáí½¿µ
- include MACRODOS.INC ;Σπ¡¬µ¿¿ DOS
- include MACROKBD.INC ;Σπ¡¬µ¿¿ BIOS
- ; ô»αáó½Ñ¡¿Ñ ½¿ßΓ¿¡ú«¼ îÇèÉÄ
- ; .lall ;Å«½¡δ⌐
- ; .xall ;ìÑ »«½¡δ⌐
- .sall ;íѺ pácΦ¿pÑ¡¿⌐ ¼á¬p«
- ;
- .model small
- .code ;¡áτὫ ¬«ñ«ó«ú« ßÑú¼. _Text
- assume ds:_text
- org 100h ;ñ½∩ COM »α«úαá¼¼
- Start: jmp Start1
- even
- ;
- ; Äíαáí«Γτ¿¬ »αÑαδóá¡¿⌐ ¬½áó¿áΓπαδ
- ; ═════════════════════════════════════
- I9h:
- ;┌─────────────────────────────────────────┐
- ;│ êßσ«ñ¡δ⌐ ΓѬßΓ »α«úαá¼¼δ-«íαáí«Γτ¿¬á │
- ;│ »αÑαδóá¡¿⌐ «Γ ¬½áó¿áΓπαδ │
- ;└─────────────────────────────────────────┘
- ;
- ; éδσ«ñ »« ßΓáα«¼π óÑ¬Γ«απ 9h:
- Bios9h:
- db 0eah ;jmp far
- Dword? Old9h ;ß«ñÑন¼«Ñ ßΓáα«ú« 9h
- ;
- ; 諡ѵ αѺ¿ñÑ¡Γ¡«⌐ τáßΓ¿ »α«úαá¼¼δ
- ; ═════════════════════════════════════
- EndRes equ $
- ;
- ;çá»π߬ »α«úαá¼¼δ
- Start1:
- cld
- ; çừ¼¿¡á¡¿Ñ ßΓáα«ú« óÑ¬Γ«αá 9h ó Old9h (ß«σαá¡¿Γ∞ es):
- GetInt? 9,OldKB,es
- ;┌─────────────────────────────────────────┐
- ;│ ÆÑ½« »α«úαá¼¼δ ¿¡¿µ¿á½¿ºáµ¿¿ «íαáí«Γτ¿¬á│
- ;│ »αÑαδóá¡¿⌐ 9h │
- ;└─────────────────────────────────────────┘
- ; çáóÑαΦÑ¡¿Ñ αѺ¿ñÑ¡Γ¡«⌐ »α«úαá¼¼δ íѺ PSP:
- ; 1. Äßó«í«ñ¿Γ∞ Enviroment (Keep=N)
- ; 2. ÅÑαѼÑßΓ¿Γ∞ αѺ¿ñÑ¡Γ¡πε τáßΓ∞ »α«úαá¼¼δ ó PSP
- ; 3. ôßΓá¡«ó¿Γ∞ óÑ¬Γ«α 9h
- ; 4. ä«»«½¡¿Γѽ∞¡« óδ»«½¡¿Γ∞ »«ñ»α«úαá¼¼π SetDrv
- ; 5. ÄßΓáΓ∞ß∩ αѺ¿ñÑ¡Γ«¼
- Exir0? 0,EndRes,<<9,I9h>>,N,SetDrv
-
- 7
- ;
- ; Åα«úαá¼¼á ñ«»«½¡¿Γѽ∞¡«⌐ «íαáí«Γ¬¿
- ; ¡á óσ«ñÑ: ds=es=cs
- Block? SetDrv
- ;┌─────────────────────────────────────────┐
- ;│ êßσ«ñ¡δ⌐ ΓѬßΓ »α«úαá¼¼δ ñ«»«½¡¿Γѽ∞¡«⌐ │
- ;│ «íαáí«Γ¬¿ │
- ;└─────────────────────────────────────────┘
- Bend? SetDrv
- END Start
- 4.03.91. Åᡬ«ó ₧.ê.