home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / soft.doc / psp_tsr.use < prev    next >
Encoding:
Text File  |  1992-02-12  |  11.5 KB  |  337 lines

  1.                         Åᡬ«ó ₧.ê.
  2.  
  3.           êß»«½∞º«óá¡¿Ñ PSP ó TSR »α«úαá¼¼áσ.
  4.           ═══════════════════════════════════
  5.  
  6.   PSP (Program SegmentPrefix) - »αÑΣ¿¬ß »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá.
  7.   TSR (Terminate and Stay Resident) - ºáóÑαΦ¿Γ∞ ¿ «ßΓáΓ∞ß∩ αÑ-
  8.       º¿ñÑ¡Γ«¼.
  9.   MCB (Memory Control Block) - í½«¬ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε.
  10.  
  11.      Éáßß¼áΓα¿óáÑΓß∩ ó«»α«ß  ¿ß»«½∞º«óá¡¿∩ PSP TSR »α«úαἼἿ.
  12.      ùΓ« »«íπñ¿½«  ¼Ñ¡∩ ¡á»¿ßáΓ∞ ñá¡¡πε ßΓáΓ∞ε?  ìÑ Γᬠñáó¡« ∩
  13. »α«τѽ ßΓáΓ∞ε "úαπ»»δ »α«úαá¼¼¿ßΓ«ó 2é" éÑα¡Ñαá é.Ç. ¿ æÑαÑú¿¡á
  14. é.é.: "滫߫í ß«ºñá¡¿∩ TSR »α«úαá¼¼ íѺ PSP". êº ¬«Γ«α«⌐ ß½Ññπ-
  15. ÑΓ, τΓ« óßÑ áóΓ«α߬¿Ñ »αáóá »« ¿ß»«½∞º«óá¡¿ε PSP ó TSR »α«úαá¼-
  16. ¼áσ »α¿¡áñ½ÑªáΓ "úαπ»»Ñ 2é".  ƒ ¿ß»«½∞ºπε PSP ó ßó«¿σ TSR »α«ú-
  17. αá¼¼áσ ó«Γ πªÑ 2 ú«ñá.    "âαπ»»«⌐  2é"  αáºαáí«Γá¡  «α¿ú¿¡á½∞¡δ⌐
  18. á½ú«α¿Γ¼ ¿ß»«½∞º«óá¡¿∩ PSP :
  19.      - «ßó«í«ªñáÑΓß∩ ENVIROMENT ¿ ¬«ααÑ¬Γ¿απÑΓß∩ αẼÑα »á¼∩Γ¿,
  20.        ºá¡¿¼áѼ«⌐  »α«úαá¼¼«⌐;    »α¿ φΓ«¼ DOS  ßΓα«¿Γ ¡«óδ⌐ í½«¬
  21.        MCB ßαáºπ ºá ¬«¡µ«¼ íπñπεΘÑ⌐ TSR »α«úαá¼¼δ;
  22.      - ó ΓѽѠßἫ⌐ »α«úαá¼¼δ,    ßαáºπ  ºá  MCB    ßαÑñßΓóἿ  DOS
  23.        ßΓα«¿Γß∩ ¡«óδ⌐ PSP π ¬«Γ«α«ú« ¬«ααÑ¬Γ¿απÑΓß∩ áñαÑß α«ñ¿-
  24.        Γѽ∞߬«ú« PSP (¬«»¿απÑΓß∩ ß« ßΓáα«ú«);
  25.      - ¡«óδ⌐ PSP π¬áºδóáÑΓß∩ DOS ó ¬áτÑßΓóÑ ΓѬπΘÑú«;
  26.      - ¬«ααÑ¬Γ¿απÑΓß∩ π¬áºáΓѽ∞ ¡á ß«íßΓóÑ¡¡¿¬á »á¼∩Γ¿    ó ¡«ó«¼
  27.        MCB ¡á ßÑú¼Ñ¡Γ¡δ⌐ áñαÑß ¡«ó«ú« PSP;
  28.      - αѺ¿ñÑ¡Γ¡á∩ τáßΓ∞ »α«úαá¼¼δ »ÑαÑßδ½áÑΓß∩ »« áñαÑßπ  ßÑú-
  29.        ¼Ñ¡Γá ßΓáα«ú« PSP ß« ß¼ÑΘÑ¡¿Ñ¼ 0;
  30.      - ñá½ÑÑ  »α«úαἼᠺáóÑαΦáÑΓß∩ «íδτ¡δ¼ «íαẫ¼  »« Σπ¡¬µ¿¿
  31.        DOS 04ch ¿½¿ »« INT 20h.
  32.      î¡«ε αáºαáí«Γá¡ ¿¡«⌐ á½ú«α¿Γ¼ ¿ß»«½∞º«óá¡¿∩ PSP TSR  »α«ú-
  33. αἼἿ, ¬«Γ«αδ⌐ íδ½  πß»ÑΦ¡«  ¿ß»«½∞º«óá¡ »α¿ αáºαáí«Γ¬Ñ αѺ¿-
  34. ñÑ¡Γ¡δσ »α«úαá¼¼  -  ñαá⌐óÑα«ó:  PU_KBG,   PU_KBGM,   PU_DISKM,
  35. PU_VEGAM, PU_TIMEM, PU_INPRN  ¿ ¼¡«ú¿σ ñαπú¿σ.
  36.  
  37.                 2
  38.  
  39.              1. Äß¡«ó¡δÑ »«¡∩Γ¿∩.
  40.               ───────────────────
  41.      1.1. ö«α¼áΓ »αÑΣ¿¬ßá »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá.
  42.  
  43.      PSP αẼÑα«¼  256 íá⌐Γ ßΓα«¿Γß∩ DOS »α¿ ºá»π߬Ѡ»α«úαá¼¼δ,
  44. óßÑúñá »αÑñΦÑßΓóπÑΓ Ñ⌐ ¿ ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ Σ«α¼áΓ:
  45.  
  46. PSP?        Struc
  47. PSP_int_20  db      0cdh,020h  ;00h - INT 20 ñ½∩ ºáóÑαΦÑ¡¿∩
  48. ;                    »α«úαá¼¼δ
  49. PSP_top     dw      ?         ;02h - N 1 ßó«í«ñ¡«ú« »áαáúαáΣá.
  50. PSP_rsv1    db      6  dup(?)  ;04h - É Ñ º Ñ α ó
  51. ; ÇñαÑß ºáóÑαΦÑ¡¿∩ »α«úαá¼¼δ - ¬«»¿∩ óÑ¬Γ«αá 22h:
  52. PSP_tm_ip   dw      ?         ;0ah
  53. PSP_tm_cs   dw      ?         ;0ch
  54. ; ÇñαÑß óδσ«ñá »« Ctrl-Break - ¬«»¿∩ óÑ¬Γ«αá 23h:
  55. PSP_cb_ip   dw      ?         ;0eh
  56. PSP_cb_cs   dw      ?         ;10h
  57. ; ÇñαÑß óδσ«ñá »« ΣáΓá½∞¡«⌐ «Φ¿í¬Ñ - ¬«»¿∩ óÑ¬Γ«αá 24h:
  58. PSP_er_ip   dw      ?         ;12h
  59. PSP_er_cs   dw      ?         ;14h
  60. ; æÑú¼Ñ¡Γ¡δ⌐ áñαÑß α«ñ¿Γѽ∞߬«ú« PSP
  61. PSP_ow_cs   dw      ?         ;16h
  62. ; File Handle Table - 20 ¿¡ñѬ߫ó ñ½∩ ß¿ßΓѼ¡«⌐ Γáí½. Σá⌐½«ó
  63. PSP_fht     db      20 dup(?)  ;18h - File Handle Table
  64. ; æÑú¼Ñ¡Γ¡δ⌐ áñαÑß ßαÑñδ »α«µÑßßá (ENVIROMENT)
  65. PSP_env     dw      ?         ;2ßh
  66. PSP_rsv2    db      34 dup(?)  ;2eh - É Ñ º Ñ α ó
  67. PSP_dos     db      0cdh,021h  ;50h - INT 21 - «íα. ¬ Σ. DOS
  68. PSP_rsv3    db      3 dup(?)   ;52h -  É Ñ º Ñ α ó
  69. PSP_efcb1   db      7  dup(?)  ;55h - αáßΦ¿αÑ¡¿Ñ FCB1
  70. PSP_fcb1    db      16 dup(?)  ;5ch - ìÑ «Γ¬αδΓδ⌐ FCB1
  71. PSP_fcb2    db      16 dup(?)  ;6ch - ìÑ «Γ¬αδΓδ⌐ FCB2
  72. PSP_rsv4    db      4  dup(?)  ;7ch - É Ñ º Ñ α ó
  73. ; Äí½áßΓ∞ DTA »« π¼«½τá¡¿ε ¿:
  74. PSP_lparm   db      ?         ;80h - ä½¿¡á »«½∩ »áαá¼ÑΓα«ó
  75. PSP_parm    db      127 dup(?) ;81h - Å«½Ñ »áαá¼ÑΓα«ó
  76. PSP?        Ends
  77.  
  78.          1.2. ö«α¼áΓ í½«¬á π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε.
  79.  
  80.      MCB αẼÑα«¼ 16 íá⌐Γ ßΓα«¿Γß∩ DOS,  «»¿ßδóáÑΓ ¬áªñδ⌐ αáß»-
  81. αÑñѽѡ¡δ⌐ πτáßΓ«¬ »á¼∩Γ¿,  óßÑúñá  »αÑñΦÑßΓóπÑΓ  PSP;    ßÑú¼Ñ¡Γ
  82. ó½áñѽµá  Γᬫú«  MCB óßÑúñá π¬áºδóáÑΓ ¡á PSP.    éßÑ í½«¬¿ MCB ó
  83. »á¼∩Γ¿ «íαáºπεΓ «ñ¡«ßó∩ºá¡¡δ⌐ ß»¿ß«¬, ¡áτὫ ¬«Γ«α«ú« ¼«ª¡« «»-
  84. αÑñѽ¿Γ∞ 52h Σπ¡¬µ¿Ñ⌐ DOS. MCB ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ Σ«α¼áΓ:
  85.  
  86. MCB?        Struc
  87. ; Æ¿» í½«¬á -              "M" (4dh) - »α«¼ÑªπΓ«τ¡δ⌐
  88. MCB_type    db      ?         ;"Z" (4ah) - ¬«¡Ñτ¡δ⌐
  89. ; æÑú¼Ñ¡Γ ó½áñѽ∞µá í½«¬á (0 - ßó«í«ñ¡δ⌐ í½«¬ - ó½áñѽѵ DOS):
  90. MCB_own_cs  dw      ?         ;01h - CS
  91. MCB_Lp        dw      ?         ;03h - ñ½¿¡á í½«¬á ó »áαáúαáΣáσ
  92. MCB_rsv1    db      3 dup (?)  ;05h - É Ñ º Ñ α ó
  93. MCB_rsv2    db      8 dup (?)  ;08h - É Ñ º Ñ α ó
  94. ;                    (¿¡«úñá ¿¼∩ σ«º∩¿¡á)
  95. MCB?        Ends
  96.  
  97.                 3
  98.  
  99.        1.3. Å½á¡ »á¼∩Γ¿ »α¿ ºáúαπº¬Ñ »α«úαá¼¼δ.
  100.  
  101.      ┌─────────────┐
  102.      │     MCB     │      PSP α«ñ¿Γѽ∩
  103.      │01h ─────────┼────┐      ^
  104.      │           │    │      │
  105.      ├─────────────┤    │      │
  106.      │     PSP     │<───┘      │
  107.      │           │      │
  108.      │16h ─────────┼──────────┘
  109.      │           │
  110.      │2ch ─────────┼────>┌────────────┐
  111.      │           │     │ ENVIROMENT │
  112.      │           │     └────────────┘
  113.      ├─────────────┤
  114.      │           │
  115.      │     PGM     │
  116.      └─────────────┘
  117.                  É¿ß.1
  118.  
  119.          2. êß»«½∞º«óá¡¿Ñ PSP TSR »α«úαἼἿ.
  120.          ─────────────────────────────────────
  121.      Å½á¡ Σαáú¼Ñ¡Γá »á¼∩Γ¿ »«ß½Ñ ºáúαπº¬¿ »α«úαá¼¼δ ó «»ÑαáΓ¿ó-
  122. ¡πε »á¼∩Γ∞ ¿º«íαáªÑ¡ ¡á α¿ß.1.
  123.      àß½¿ TSR    »α∩¼«    ¿½¿   ¬«ßóÑ¡¡«    ¡Ñ  ¿ß»«½∞ºπÑΓ    «í½áßΓ∞
  124. ENVIROMENT, Γ« ÑÑ ¡áñ« «ßó«í«ñ¿Γ∞.
  125.      TSR »α«úαá¼¼δ, ¿ß»«½∞ºπεΘ¿Ñ óÑß∞ PSP ¡áºδóáεΓ TSR »α«úαá¼-
  126. ¼á¼¿ íѺ PSP.  ì¿ªÑ ñáÑΓß∩ á½ú«α¿Γ¼ »«ßΓα«Ñ¡¿∩ »α«úαá¼¼ íѺ PSP
  127. ( ¿½¿  ß τáßΓ¿τ¡δ¼ Ñú« ¿ß»«½∞º«ó᡿Ѽ),  αáºαáí«Γá¡¡δ⌐ áóΓ«α«¼.
  128. æπΘ¡«ßΓ∞ Ñú« ß«ßΓ«¿Γ ó »ÑαѼÑΘÑ¡¿¿ »α«úαá¼¼δ ó «í½áßΓ∞ PSP ÅÄæ-
  129. ïà çÇéàÉÿàìꃠ31h Σπ¡¬µ¿¿ DOS ¿½¿ INT 27h.
  130.      ò«α«Φ« ¿ºóÑßΓ¡δ⌐ π ¡áß ó ßΓαá¡Ñ ñαá⌐óÑα  "800"  ¿ß»«½∞ºπÑΓ
  131. Γ«½∞¬« ¡¿ª¡εε »«½«ó¿¡π PSP.
  132.  
  133.  2.1. Ç½ú«α¿Γ¼ ¿¡¿µ¿á½¿ºáµ¿¿ TSR »α«úαá¼¼ ß ¿ß»«½∞º«ó᡿Ѽ PSP.
  134.  
  135.      1. Ä»αÑñѽ¿Γ∞  ¬«¡Ñµ αѺ¿ñÑ¡Γ¡«⌐ τáßΓ¿ »α«úαá¼¼δ (EndRes),
  136.     óδα«ó¡Ñ¡¡δ⌐ ¡á úαá¡¿π »áαáúαáΣá.
  137.      2. çừ¼¡¿Γ∞ 16 íá⌐Γ αѺ¿ñÑ¡Γ¡«⌐ τáßΓ¿ »α«úαá¼¼δ »« ß¼ÑΘÑ-
  138.     ¡¿ε EndRes-Delta ó ß»Ñµ¿á½∞¡« «ΓóÑñÑ¡¡«¼ íπΣÑαÑ, úñÑ:
  139.     Delta - óѽ¿τ¿¡á »ÑαѼÑΘÑ¡¿∩ »α«úαá¼¼δ (¬αáΓ¡á 16)
  140.         ä½∩ TSR íѺ PSP Delta=100h
  141.     é φΓπ «í½áßΓ∞ DOS αáß»«½«ª¿Γ »«ß½Ññ¡¿⌐ MCB  í½«¬  »«ß½Ñ
  142.     αѺ¿ñÑ¡Γ¡«ú« ºáóÑαΦÑ¡¿∩ »α«úαá¼¼δ (É¿ß.2).
  143.      3. Äßó«í«ñ¿Γ∞ í½«¬ ßαÑñδ, Ñß½¿ φΓ« ¡Ñ«íσ«ñ¿¼«.
  144.      4. ÅÑαÑ«»αÑñѽ¿Γ∞    π¬áºáΓѽ∞  óδσ«ñá PSP_tm (ß¼ÑΘÑ¡¿Ñ 0ah)
  145.     π¬áºáΓѽѼ ¡á »α«úαá¼¼π-ỻѡñ¿¬ß óδσ«ñá ó DOS (».2.2).
  146.      5. éδτ¿ß½¿Γ∞  ñ½¿¡π αѺ¿ñÑ¡Γ¡«⌐ τáßΓ¿ »α«úαá¼¼δ ó »áαáúαá-
  147.     Σáσ ß πτÑΓ«¼ »ÑαѼÑΘÑ¡¿∩ ó PSP:
  148.            LTSR=(EndRes-Delta)/16
  149.     çừ¼¡¿Γ∞, ¬á¬ ¼¿¡¿¼π¼, αÑú¿ßΓαδ SS ¿ SP .
  150.      6. çáóÑαΦ¿Γ∞ »α«úαá¼¼π »« Σπ¡¬µ¿¿ DOS 31h ¿½¿ INT 27h.
  151.  
  152.                 4
  153.  
  154.       2.2. Ç½ú«α¿Γ¼ »α«úαá¼¼δ-ỻѡñ¿¬ßá óδσ«ñá ó DOS.
  155.  
  156.      1. é«ßßΓá¡«ó¿Γ∞, ¬á¬ ¼¿¡¿¼π¼, αÑú¿ßΓαδ SS ¿ SP.
  157.      2. ÅÑαѼÑßΓ¿Γ∞ αѺ¿ñÑ¡Γ¡πε τáßΓ∞ »α«úαá¼¼δ ó PSP.
  158.      3. é«ßßΓá¡«ó¿Γ∞   16   íá⌐Γ    »α«úαá¼¼δ     »«    ß¼ÑΘÑ¡¿ε
  159.     EndRes-2*Delta «Γ ¡«ó«ú« ¡áτá½á »α«úαá¼¼δ ¿º íπΣÑαá.
  160.      4. ôßΓá¡«ó¿Γ∞ ΓαÑíπѼδÑ óÑ¬Γ«αá »αÑαδóá¡¿⌐, Ñß½¿ φΓ« ¡Ñ«í-
  161.     σ«ñ¿¼«. Åα¿  πßΓá¡«ó¬Ñ     óÑ¬Γ«α«ó   ¡Ñ«íσ«ñ¿¼«     πτÑßΓ∞
  162.     ¡«ó«Ñ º¡áτÑ¡¿∩ ßÑú¼Ñ¡Γá TSR = CS-Delta/16.
  163.      5. ÄßπΘÑßΓó¿Γ∞ ñ½¿¡¡δ⌐ »ÑαÑσ«ñ »« óÑ¬Γ«απ 22h.
  164.  
  165.     2.3. Å½á¡ »á¼∩Γ¿ ¡á óσ«ñÑ »α«úαá¼¼δ-ỻѡñ¿¬ßá
  166.           óδσ«ñá ó DOS    (Delta=100h).
  167.  
  168.      ╔═══════╗              LTSR - ñ½¿¡á αѺ¿ñÑ¡Γ¡«⌐
  169.      ║  MCB  ║                 τáßΓ¿ »α«úαá¼¼δ ó
  170.      ╠═══════╣─────────────          íá⌐Γáσ ¬αáΓ¡á∩ »á-
  171.      │  PSP  │        ^             αáúαáΣπ.
  172.      ╠═══════╣─────     │
  173.      ║     ║   ^        │          LMSB - ñ½¿¡á í½«¬á »á¼∩Γ¿
  174.       ───╫─ ─ ─ ─╢   │        │             ó »áαáúαáΣáσ.
  175.        | ║ Save  ║   │ LTSR │
  176.   100h │ ║─ ─ ─ ─║   │        │ LMCB    Save - «í½áßΓ∞  αáß»αÑñÑ-
  177.        | ║     ║   |        │             ½Ñ¡¿∩ ¡«ó«ú« MCB.
  178.  EndRes──╫     ╫─────     │
  179.      │─ ─ ─ ─│        │        Buffer - «í½áßΓ∞ ß«σαá¡Ñ¡¿∩
  180.      │ Buffer│        │             «í½áßΓ¿ Save.
  181.      │─ ─ ─ ─│        │
  182.      │     │        |
  183.      └───────┴──────────────
  184.  
  185.                  É¿ß.2
  186.  
  187.     2.5. Å½á¡ »á¼∩Γ¿ ¡á óδσ«ñÑ »α«úαá¼¼δ-ỻѡñ¿¬ßá
  188.           óδσ«ñá ó DOS (Delta=100h).
  189.  
  190.      ╔═══════╗
  191.      ║  MCB  ║
  192.       ───╠═══════╣           EndRes1 - ß¼ÑΘÑ¡¿Ñ ¬«¡µá »Ñ-
  193.        | ║     ║                 αѼÑΘÑ¡¡«⌐     TSR
  194.   LMCB │ ║     ║                 »α«úαá¼¼δ.
  195.        │ ║─ ─ ─ ─║─── EndRes1-200h
  196.   LTSR │ ║ Save1 ║
  197.        | ║─ ─ ─ ─║             LMCB1 - ñ½¿¡á ¡«ó«ú« í½«¬á
  198.       ───╠═══════╣─── EndRes1             »á¼∩Γ¿ ó »áαáúα.
  199.      │  MCB1 │
  200.      ├───────┤─────          Save1 - ó«ßßΓá¡«ó½Ñ¡¡á∩
  201.      │     │   |                 «í½áßΓ∞ »α«úα.
  202.      │     │   │
  203.      │─ ─ ─ ─│   │ LMCB1        Buffer - «í½áßΓ∞ ß«σαá¡Ñ¡¿∩
  204.      │ Buffer│   │                 «í½áßΓ¿ Save.
  205.      │─ ─ ─ ─│   │
  206.      │     │   |
  207.      └───────┘─────
  208.  
  209.                  É¿ß.3
  210.  
  211.                 5
  212.  
  213.            3. ÉÑ὿ºáµ¿∩ á½ú«α¿Γ¼á.
  214.            ────────────────────────
  215.      ÉÑ὿º«óá¡ Γ«½∞¬« ñ½∩  COM  »α«úαá¼¼  «ñ¡«⌐  ¼á¬α«¬«¼á¡ñ«⌐
  216. EXir0? ¿ «ñ¡¿¼ «íÜÑ¬Γ¡δ¼ ¼«ñπ½Ñ¼ PU_Exir0.  îá¬α«¬«¼á¡ñá Exir0?
  217. «ßπΘÑßΓó½∩ÑΓ »«ßΓα«Ñ¡¿Ñ í½«¬á π»αáó½Ñ¡¿∩ ºáóÑαΦÑ¡¿Ñ¼ TSR  »α«ú-
  218. αá¼¼δ ¿ óδº«ó ¼«ñπ½∩ PU_Exir0, αÑ὿ºπεΘÑú« óδΦÑπ¬áºá¡¡δ⌐ á½ú«-
  219. α¿Γ¼.
  220.  
  221.         3.1 ö«α¼áΓ ¼á¬α«¬«¼á¡ñδ Exir0?.
  222.  
  223.      Exir0?  TPSP,EndRes,VList,Keep,UCall     úñÑ:
  224.  
  225.      TPSP - ñ½¿¡á ó »áαáúαáΣáσ ¡Ñ¿º¼Ñ¡∩Ѽ«⌐ τáßΓ¿ PSP - «»αÑñÑ-
  226.         ½∩ÑΓ  áñαÑß  ¡áτá½á »ÑαѼÑΘÑ¡¡«⌐ TSR »α«úαá¼¼δ. ä½∩
  227.         TSR »α«úαá¼¼ íѺ PSP  TPSP=0.
  228.    EndRes - ß¼ÑΘÑ¡¿Ñ ¬«¡µá αѺ¿ñÑ¡Γ¡«⌐ τáßΓ¿  »α«úαá¼¼δ (óδαáó-
  229.         ¡¿óá¡¿Ñ ¡á »áαáúαáΣ ¡Ñ «í∩ºáΓѽ∞¡«).
  230.     VList - ß»¿ß«¬ πßΓá¡áó½¿óáѼδσ óÑ¬Γ«α«ó ó Σ«α¼áΓÑ:
  231.  
  232.         <<N1,Off1>,<N2,Off2>,...>      úñÑ:
  233.  
  234.          N1, N2,     ... - ¡«¼Ñαá óÑ¬Γ«α«ó
  235.          Off1, Off2, ... - ß¼ÑΘÑ¡¿∩ »α«úαá¼¼-«íαáí«Γτ¿¬«ó
  236.                    »αÑαδóá¡¿⌐
  237.      Keep - =Y / N - »αÑñ»¿ßδóáÑΓ  «ßó«í«ñ¿Γ∞ / ¡Ñ  «ßó«í«ªñáΓ∞
  238.         í½«¬ ßαÑñδ (ENVIROMENT).
  239.     UCall - áñαÑß »«ñ»α«úαá¼¼δ    ñ«»«½¡¿Γѽ¡«⌐  «íαáí«Γ¬¿. UCall
  240.         ¡Ñ«íσ«ñ¿¼, Ñß½¿ ¬α«¼Ñ πßΓᡫ󬿠óÑ¬Γ«α«ó, ¡Ñ«íσ«ñ¿-
  241.         ¼« óδ»«½¡¿Γ∞ ¡Ñ¬«Γ«αδÑ ñ«»«½¡¿Γѽ∞¡δÑ «»Ñαᵿ¿  »Ñ-
  242.         αÑñ óδσ«ñ«¼ ó DOS.
  243.  
  244.      Æá¬¿¼ «íαẫ¼ »α«µÑßß ß«ºñá¡¿∩ TSR »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐
  245. PSP ¿½¿ ÑÑ τáßΓ∞ ßó«ñ¿Γß∩ ¬ óδñáτÑ ¼á¬α«¬«¼á¡ñδ Exir0?    ß ¡Ñ«í-
  246. σ«ñ¿¼δ¼¿ «»Ñαá¡ñἿ ó ¿ßσ«ñ¡«¼ ΓѬßΓÑ »α«úαá¼¼δ.
  247.  
  248.     3.2 »α¿¼Ñα »«ßΓα«Ñ¡¿∩ Σαáú¼Ñ¡Γ«ó TSR »α«úαá¼¼δ íѺ PSP.
  249.  
  250.      page  88,132         ;ÉẼÑα ßΓαá¡¿µδ
  251. ;
  252. ; Åα«úαá¼¼á »α¿¼Ñα »«ßΓα«Ñ¡¿∩ TSR »α«úαá¼¼δ íѺ PSP
  253. ; Åα«úαá¼¼¿ßΓ: Åᡬ«ó ₧.ê.
  254. ;
  255. ; äáΓá ß«ºñá¡¿∩:   4. 3.91
  256. ; äáΓá αÑñᬵ¿¿ ¿ N óÑαß¿¿:
  257. DAT_@@@ equ    <04.03.91>
  258. VER_@@@ equ    <V 1.0>
  259. ;
  260. Nam_@@@ equ    <"PU_PSPRS">
  261. name    PU_PSPRS
  262. ;
  263. out? <.   ╔═════════════════╗>
  264. out? <.   ║ P U _ P S P R S ║>
  265. out? <.   ║            ║>
  266. out? <.   ║ >,%VER_@@@,<  >,%DAT_@@@,< ║>
  267. out? <.   ╚═════════════════╝>
  268. ;
  269.  
  270.                 6
  271.  
  272. ;  Å«ñ¬½ετÑ¡¿Ñ ßÑαó¿ßá
  273.     include MACRO_00.INC    ;«íΘÑú« ¡áº¡áτÑ¡¿∩
  274.     include MACRO_IO.INC    ;Σπ¡¬µ¿¿ BIOS
  275.     include MACRO_01.INC    ;ñ«»«½¡¿Γѽ∞¡δÑ
  276.     include MACROTBL.INC    ;úÑ¡Ñαᵿ∩ Γáí½¿µ
  277.     include MACRODOS.INC    ;Σπ¡¬µ¿¿ DOS
  278.     include MACROKBD.INC    ;Σπ¡¬µ¿¿ BIOS
  279. ;  ô»αáó½Ñ¡¿Ñ ½¿ßΓ¿¡ú«¼ îÇèÉÄ
  280. ;    .lall        ;Å«½¡δ⌐
  281. ;    .xall        ;ìÑ »«½¡δ⌐
  282.     .sall        ;íѺ pácΦ¿pÑ¡¿⌐ ¼á¬p«
  283. ;
  284.     .model    small
  285.     .code        ;¡áτὫ ¬«ñ«ó«ú« ßÑú¼. _Text
  286.     assume    ds:_text
  287.     org    100h    ;ñ½∩ COM »α«úαá¼¼
  288. Start:    jmp    Start1
  289.     even
  290. ;
  291. ;    Äíαáí«Γτ¿¬ »αÑαδóá¡¿⌐ ¬½áó¿áΓπαδ
  292. ;  ═════════════════════════════════════
  293. I9h:
  294. ;┌─────────────────────────────────────────┐
  295. ;│ êßσ«ñ¡δ⌐ ΓѬßΓ »α«úαá¼¼δ-«íαáí«Γτ¿¬á    │
  296. ;│ »αÑαδóá¡¿⌐ «Γ ¬½áó¿áΓπαδ           │
  297. ;└─────────────────────────────────────────┘
  298. ;
  299. ; éδσ«ñ »« ßΓáα«¼π óÑ¬Γ«απ 9h:
  300. Bios9h:
  301. db    0eah        ;jmp far
  302. Dword?    Old9h        ;ß«ñÑন¼«Ñ ßΓáα«ú« 9h
  303. ;
  304. ;    è«¡Ñµ αѺ¿ñÑ¡Γ¡«⌐ τáßΓ¿ »α«úαá¼¼δ
  305. ;  ═════════════════════════════════════
  306. EndRes equ    $
  307. ;
  308. ;çá»π߬ »α«úαá¼¼δ
  309. Start1:
  310.        cld
  311. ; çừ¼¿¡á¡¿Ñ ßΓáα«ú« óÑ¬Γ«αá 9h ó Old9h (ß«σαá¡¿Γ∞ es):
  312.        GetInt? 9,OldKB,es
  313. ;┌─────────────────────────────────────────┐
  314. ;│ ÆÑ½« »α«úαá¼¼δ ¿¡¿µ¿á½¿ºáµ¿¿ «íαáí«Γτ¿¬á│
  315. ;│        »αÑαδóá¡¿⌐ 9h           │
  316. ;└─────────────────────────────────────────┘
  317. ; çáóÑαΦÑ¡¿Ñ αѺ¿ñÑ¡Γ¡«⌐ »α«úαá¼¼δ íѺ PSP:
  318. ; 1. Äßó«í«ñ¿Γ∞ Enviroment (Keep=N)
  319. ; 2. ÅÑαѼÑßΓ¿Γ∞ αѺ¿ñÑ¡Γ¡πε τáßΓ∞ »α«úαá¼¼δ ó PSP
  320. ; 3. ôßΓá¡«ó¿Γ∞ óÑ¬Γ«α 9h
  321. ; 4. ä«»«½¡¿Γѽ∞¡« óδ»«½¡¿Γ∞ »«ñ»α«úαá¼¼π SetDrv
  322. ; 5. ÄßΓáΓ∞ß∩ αѺ¿ñÑ¡Γ«¼
  323. Exir0? 0,EndRes,<<9,I9h>>,N,SetDrv
  324.  
  325.                 7
  326. ;
  327. ; Åα«úαá¼¼á ñ«»«½¡¿Γѽ∞¡«⌐ «íαáí«Γ¬¿
  328. ; ¡á óσ«ñÑ: ds=es=cs
  329. Block?    SetDrv
  330. ;┌─────────────────────────────────────────┐
  331. ;│ êßσ«ñ¡δ⌐ ΓѬßΓ »α«úαá¼¼δ ñ«»«½¡¿Γѽ∞¡«⌐ │
  332. ;│        «íαáí«Γ¬¿               │
  333. ;└─────────────────────────────────────────┘
  334. Bend?    SetDrv
  335.     END     Start
  336.                        4.03.91. Åᡬ«ó ₧.ê.
  337.