 5
                          ࠢ 

                           1. 騥 ᢥ

     稭  ᨨ 2.00,  DOS ।      ।⠢
ਪ  ணࠬ    樨  ࠡ   .  
樨 48 - 뤥 ,  49 - ᢮ , 4A (Setblock) -
 ࠧ 뤥  .
     ।  ந ᫥騬 ࠧ:    
᢮  ⮣   DOS ந ࠢ騩 . 
ணࠬ 頥  樨 "뤥",  DOS 室  ᢮
, 㤮⢮騩   "१"   室 ᮪.
⨢襩 ணࠬ 頥    ࢮ    뤥
;   ⮬   ந ࠢ騩  (㣮 ࠢ騩
 㪠뢠, ᪮ꪮ  ⠫   ,  ࣮ -
  ).  樨    㪮稢  DOS
ந ࠢ騩   ᢮  ,    
  ᯨ ᢮ .  ࠧ, ᫨ - ணࠬ
 ,    뤥 ,  ꬠ ⭮,   -
  ࠢ騩   ⥬ । .   ਢ 
।᪠㥬 १⠬ - 筮  訡 । , -
ࠢ  ,  १⨢ ⥬.
      㦠 ணࠬ,  DOS 믮  48  (Exec)  -
筮 ⠪ ,    饭  ਪ ணࠬ.  
  ਠ:  0  㧪  믮 ணࠬ, 
 3  㧪 ᥣ ४⨩   믮. 
 樨 믮 㧪 ,   窨  ७  ࠢ
  ࠧ.
      樨 0,  DOS 뤥 㦠 ணࠬ  訩
㯭     (  ࠧ頥 䨪 ணࠬ -
).
     ⥬ Exec 㦠 ணࠬ.   ࠧ,  㦥 ண-
ࠬ,  ࠢ,  ᥩ ᢮ ,  १-
   COMMAND.COM,   ன ᯮ 稪.  ᫨ ⥯
   樨 Exec  맮 㣮 ணࠬ,   
୥  訡,  ⠪    ᢮ .   ⮣,  ᫨
ணࠬ ૠ 稪, 室     窨.
     ਬ砭.   ணࠬ .EXE ࠧ 뤥塞  ࠬ ࠧ-
 ࠧ   祭  MAX ALLOC   㧮筮
. ᫨ ⮫ꪮ  㯭, 뤥 ࠧ ࠧ 
  , 祬 㪠   MIN ALLOC  㧮筮 -
.     骮 LINK.   㬮砭,  ⠢
㤠 祭, 뤥騥  ᨬ꭮  .

     ࠢ쭮 ᠭ  ணࠬ          樨
Setblock   ⪠    㦭   .  ( ணࠬ ⨯ .COM
 ।⥫꭮ ⠭ ᮡ⢥ ⥪, ⠪  ꬠ -
⭮,    ⥪,    砥  DOS   ᢮
 ).  ᢮    ᯮꧮ  -
㧪  㣨   稪.   ⠪  室  ⨯-
ணࠬ஢, ஥ 㤥 㯭  饬.
     ᫨ ணࠬ ॡ ⥫ꭠ ,   
 ⨢  樨 DOS,  ⥬ ᢮ .
      ணࠬ, 맢 樥 Exec 0, 稢, ᭮-
    ⮬᪨ ᢮.  ⠫ , -
  뫨 뤥   ᠬ,   ᢮ - ணࠬ 
  ࠧ ᢮  襭. (ਬ砭 ॢ稪: 
 ࠡ  DOS  ᮮ⢥ ⮬: ᫥ 襭  ᢮-

                                     - 2 -
  襭  ).
      믮  樨  3    ᮧ 䨪 ணࠬ
ᥣ   ⮬᪨   뤥;  뢠  ணࠬ
  ᠬ  ।  㧪  뤥   -
.   㧪  ஢, 㤠  㦠 
-    ,  ਭ 맢襩   ,   
ᯮ ࠢ騥  DOS.
     ணࠬ, 㦥  樥  3   ᮡ⢥  -
  ਭ 맢襩 .  饭     ந
맢襩 祩  ⥫⢠ DOS; ⮬  室  -
⮬᪨ ⢨  ࠢ   ந -   -
뢠饩  ணࠬ  ᢮  ,   맢   
 ணࠬ. ⨬,  ᫨ 稢 ணࠬ 訢
 DOS ,   ᢮   室.

                2.  Ma樨 c a.

   Koa MS DOS  apae  popa,  o  oa  oeaec    a
oac  a,  cpa e a COMMAND.COM  caoe묨 pae- pa
cpoc  p㣨 ⨫a,  oope pee  a.  B  o
oe  pee c a a popao oeea o popae.  Ec
popae 㦭a a  coa oac ax,  o oa oe p-
eo  c  e    a  oaec  ee o  ae oec
pee oac ax  oe eco a oo oa.   opeee
apeca oa popa oece  oe popa ceocee ⨯a:

   ZSEG    SEGMENT
           ;
   ZSEG    ENDS

   B acceepe IBM PC ZSEG e oce ceeo, a a cee
pacoaac  aao op浪e.  C  p㣨  accee-  pa  㦭o
ec⢨eo oec  cpo  oe popa. B cao popae
ocaoo oca oepaop MOV  AX,ZSEG    AX  e  aa  a
ep coo cee a a popao.
   Tao oxo e paoa o ex  op,  oa  popaa  e  e
peoaa o a稨 a,  oopo a cao ee e.  O e e
ae paoa  ooooaeco cpee,  oa ecoo popa
o e e coo o   e oac apeco.  pee o
poe MS DOS ee oooc oc- ea 640K cceo a 
oo  o  peoa  popa  o a oo paepa.  o
a - o poco epep뢭a oac a, eo aca paep
opeeec  paepo  oc㯭o  a,   acoc,  o oe 
oe ooo ceea (64K).  Ec apeoa co oo o, o
DOS  ae  cooee  o o訡e.  a oooc epep oo
ce- a. Kpoe oo MS DOS oe ocooa, pea  pacp
cece   o.   Xo  popaa  e  oaa  cooa  
cpeca,  o oo  pecopeo ea o.  Heoope 㭪樨
DOS  pe,  o 뫨 cooa cpeca pae a DOS,
apep,  aepee peeo popa [1.3.4]    o  po
popa  ao [1.3.2].
   pee e oec a,  cec騩 o (c a o  aaa
popa  o  oa) oe  opea o paepa popa.  ae,
p coa oa,  DOS coae 16-a  pa騩  o  a,
oop pacooe eocpeceo epe oo a. epe 5 ao
oo oa e ceee ae- e:

   a 0     ASCII 90 - ec oce o  eoe, ae
              ASCII 77.

                                     - 3 -
   a 1-2  0 ec o ocooe
   a 3-4  paep oa  16-ax apapaax

   DOS opaaec   oa o eoe.  Apec epoo oa xpa- c
o pee epeeo.  aee o  epeeo  oo-  e  DOS
opee  ooee  epoo  oeeoo  oa,  a    opa樨,
coepaec  e,  oe  ae ce騩 o  .. Ka oo
B  aa  coo-  a  cce  pacpeee  a DOS,  o B
oa pepac ee.  Ec popaa e coepoe  pa-
eo oa, o eoa e paopaa  DOS ae aa cooe
o o訡e.
   MS DOS oece稢ae p 㭪樨 pacpeee a,  oepa o 48H
o  4AH  pepa  21H.  㭪  48H  oo  o a,  a 49H -
ocooae o a.  Tpe 㭪 ("SETBLOCK") e-  e  paep
a,  oeeo  popa; a 㭪 oa  cooaa
epe  oca묨.  oce ee oe oo cooo oo  
ocooa o a. popaa oa ocoo ce oeee e
o  epe  aepee.  ae  a  a  e  eoc㯭o  
oceeo cooa- .

   Cpe poe.

   Bce p  㭪樨  pacpeee  a  pepa  21H  co
16-  apec  aaa  oa a,  c oop o oepp.  o
apec cooece cee,  c oopoo a稭aec o (o  cea
a稭aec  co  cee  0  aoo ceea).  Ta opao pea
apec e aaa oa pae o apec, 㬭oeo a 16. Tae,
  cex  pex  㭪権,  BX coep co 16-ax paeo a
(apapao),  oope  ooc  ocooac. Ec 㭪
e  oe   oe- a,  o caaaec a epeoca,  a  AX
opaaec o o訡, oc騩 p稭. Boo p oa o訡:

   7   pape pa騩 o a
   8   eocaoo a  oe 㭪樨
   9   eep apec oa a

  㭪 oee oa coe o 7  8,  a ocooe - 7  
9,    o pe a 㭪 ee oa coe ce p oa.  B
cee pepe caaa ooc o, paepo 1024 aa. p o
BX  coep peeoe co 16-ax apapa- o,  a p aepe
capo apec oa  pae  AX:0  (.e.  ceee  0    ceee  co
aee, coepa騬c  AX). Bopa ac pepa ocooae o e
o,  a  peec p a-  epe  popa.  B  ao  cae
aee oeoe  AX oeaec  ES.  DOS ce a paepo oa
 ae aoe oeco apapao ao ocoo.

;---oeee oa paepo 1024 aa
   MOV   AH,48H      ;oep 㭪樨
   MOV   BX,64       ;pee 64 apapaa
   INT   21H         ;aec oec o
   JC    ERROR       ;opaaae o訡  cae ea
   MOV   BLOCK_SEG,AX;ae coxpae apec oa
    .
;---ocooae o e o
   MOV   AX,BLOCK_SEG ;oae capo apec oa
   MOV   ES,AX        ;oeae eo  ES
   MOV   AH,49H       ;oep peeo 㭪樨
   INT   21H          ;ocooae o a
   Haoe, pee pep cooa 㭪樨 4AH.  ES  coep-  

                                     - 4 -
aee  ceea PSP,  .e.  caoo epoo aa a,  c oopoo
apea popaa.  o aee pcaaec ES p cape  aa.
  cooa  SETBLOCK  ao  o  a   㭪  cao
aae popa (pee e ES  e  ee),  o  coxpa  eo
aaoe aee  oceeo coo- a.
   BX coep pee paep  oa    16-ax  apapaax.  
opeee oo paepa oece oao "cce" cee 
oe popa.  B apoaccceepe IBM PC  cee  pacoaac  
aao  op浪e,  oo  B  oee  oec  eo  oe eco
popa,  p co,  o eo  o o-o poe "ZSEG". B p㣨x
acceepax   ec⢨eo   oeae   䨪⨢   cee    oe
popa.  popaa  oe  poa  o  oo   ceea   ,
cpaa  ee  co  capo  ceeo,  o  oeco  a,
peeoe cao popae.  B oe  ap㧪  popa    ES    DS
coepa   oep   apapaa   caoo   aaa   popa    pe䨪ce
popaoo ceea;   COM ao CS ae aae a   o-
,  o   EXE ao o e a.  ;---ocooee a (ES ee
aee p cape)
   MOV   BX,ZSEG      ;oae # apapaa oa popa + 1
   MOV   AX,ES        ;oae # apapaa aaa popa
   SUB   BX,AX        ;ce paep popa  apapaax
   MOV   AH,4AH       ;oep 㭪樨
   INT   21H          ;ocooae a
   JC    MEMORY_ERROR ;poepe a o訡

;---
   ZSEG      SEGMENT
   ZSEG      ENDS
