helloworld.ru -  
helloworld.ru -
           
:  

C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

-
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
TCP/IP
Apache

Web-
HTML

VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl


DirectDraw
DirectSound
Direct3D
OpenGL
3D-
DOS





.



MySQL
SQL






demaker.ru

 .




helloworld.ru

                           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 ope.  C  p  accee-  pa  o
eceo 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 epepa oac a, eo aca paep
opeeec  paepo  oco  a,   acoc,  o oe 
oe ooo ceea (64K).  Ec apeoa co oo o, o
DOS  ae  cooee  o oe.  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 oe.
   MS DOS oeceae 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  eoco  
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 aaec o (o  cea
aaec  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, coepac  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  ope,  oo  B  oee  oec  eo  oe eco
popa,  p co,  o eo  o o-o poe "ZSEG". B px
acceepax   eceo   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    pece
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
[ | | ]










helloworld.ru © 2001-2018
Rambler's Top100 TopList