      CP/M 
                     2.2 
 
 
                   10.09.1987. 
  
                     B I O S  
 
 
                   BIOS 
 
           BIOS         
,        .  
 (  )   16- ,
    0001, 0002h  3 ( 0h..2h 
  JMP WBOOT). 
 
            : 
 
      JMP       BOOT      ;    
      JMP       WBOOT     ;    
      JMP       CONST     ;   
      JMP       CONIN     ;     
      JMP       CONOUT    ;    
      JMP       LIST      ;    
      JMP       PUNCH     ;    
      JMP       READER    ;    
      JMP       HOME      ;   0    
      JMP       SELDSK    ;   
      JMP       SETTRK    ;       
      JMP       SETSEK    ;    
      JMP       SETDMA    ;    
      JMP       READ      ;    
      JMP       WRITE     ;      
      JMP       LISTST    ;   
      JMP       SECTRAN   ;   
 
                   
,           . 
       : 
     -      (  BOOT  WBOOT ) 
     -    -           (     
          CONST,CONIN,CONOUT,LIST,PUNCH,READER  LISTST ) 
     -      -      (   
          HOME,SELDSK,SETTRK,SETSEC,SETDMA,READ,WRITE       
          SECTRAN ) 
                
  ASCII (-7),     0    (D7). 
      P/M    
  (1B HEX) ^Z   ASCII.    
   CP/M      ""        
          
 BIOS.  
        LIST () ,  PUNCH (  
  )   READER (   )    ,  TO 
  LIST   PUNCH        
  RET  ,             
   1A HEX. 
              
     ,    
,  ,         , 
    -.      
     ,        
  READ  WRITE      
-  .   READ  WRITE   
   (  10 ) ,    
      (     
            ). 
 HOME     SETTRK    
 0. 
 
                  
 
     BOOT  -         
                        
                ,      
                 CP/M.     
                    CCP 
                 .  C   
                 B CCP     0 
                  "". 
 
     WBOOT   -    ,         
                   .      
                  ,       
                       
                 0000H (    
                       CP/M).   
                  CP/M      
                      ,   
                   BIOS.        
                         
                : 
 
     -  0,1,2 -  JMP WBOOT
     -  5,6,7 -  JMP BDOS 
 
                     WBOOT 
                          
                     
                  . 
 
     CONST   -           
                   - 0FFH,   
                ,  00H    ( 
                      
               0F812H          
               ). 
 
     CONIN   -       ,   
                      (   
                     

               0F803H          
               ). 
 
     CONOUT  -         
               (              
                 0F809H        
                ). 
 
     LIST   -        . 
 
     PUPNCH -            ( 
                          
                  0F80CH       
                ).  
 
     READER -         ,     
                ;    - ^Z(1AH) ( 
                          
                  0F806H       
                ). 
 
     HOME   -            
                         0.        
                 SETTRK   
                0. 
 
     SELDSK -       ,           
                      C,    
                    -  (C=0  - 
                 "A",C=1 -   "B" 
                T..    "").   , 
                  SELDSK        
                   HL    16-   
               ,     ( 
               DISK PARAMETER HEADER).    
                 ,    SELDSK 
                 HL=0000H. 
 
     SETTRK -             
                  (     
                80D). 
 
     SETSEC -              
                     BC  (   
                   26D). 
 
     SETDMA -         
                      -    
                    BC. 
 
     READ   -          
                     ,       
                     SETDMA      
                    +  128   .    
                  :  
               A=00 -   
               A>0  -              
 
     WRITE  -        ( 
               ,        
               SETDMA    + 128 )   
                      ( 
                SETDSK,SETTRK,SETSEC).   
                  READ. 
      
     LISTST -        00H 
 
     SECTRAN -          
                            ( 
                            
                     ).   
                               
                   ,     
                         
                   DE.     
                         
                   HL. 
 
  
                  CP/M 
                    0000H - 0100H    
 
     0000-0002    JMP    WBOOT     ;   
     0004         DS     1         ;    
     0005-0007    JMP    BDOS      ;   
     0038-003A    JMP    MONITOR   ;  0F800H 
     005C-007C    FCB              ;    
     0080-00FF    DMABUF           ;     
 
 
                   CP/M 
 
              
    DPH  (  16    ),      
                 
         BDOS 
   . 
 
                   
  
     ------------------------------------------------------- 
     I XLT I 0000 I 0000 I 0000 I DIRBUF I DPB I CSV I ALV I 
     I 16B I  16B I  16B I  16B I   16B  I 16B I 16B I 16B I 
     ------------------------------------------------------- 
 
     16B    -    (   ) 
 
     XLT    -          
                 . 
 
     0000   -              BDOS   ( 
                  ). 
 
     DIRBUF -    128-       
                   BDOS.   DPH     
                   . 
 
     DPB   -              
               .               
                       
                  . 
 
     CSV    -              , 
                     
                          . 
                    8 .   
                         
                DPH. 
 
     ALV  -                , 
                 BDOS    
                   .        
                  32       
               255K .      
                 DPH. 
 
          BIOS    N  ,        DPH 
  ,      (  16 
  )      0  (A),       - 
  N-1  (...).   SELDSK    
   DPH   . 
 
                  (DPB) 
 
           : 
------------------------------------------------------------- 
I SPT I BSH I BLM I EXM I DSM I DRM I AL0 I AL1 I CKS I OFF I 
I 16B I  8B I  8B I  8B I 16B I 16B I  8B I  8B I 16B I 16B I 
------------------------------------------------------------- 
     16B  -      
      8B  -      
     SPT  -      ,    
                . 
     BSH  -           
                .  
                BSH  BLM ,    
                BLS ,       
                 .   ,  BLS 
               ,   BSH  BLM : 
      
                     BLS       BSH       BLM 
                     1024      3           7 
                     2048      4          15 
                     4096      5          31 
                     8192      6          63 
                    16384      7         127 
 
     EXM  -        
     DSM  -     '  (   ) 
                 EXM     BLS,      
               ,   DSM  255 : 
 
                    BLS       DSM<255        DSM>255 
                   1024          0              - 
                   2048          1              0 
                   4096          3              1 
                   8192          7              3 
                  16384         15              7 
 
                DSM -  1 ,    
                              , 
                     BLS.  BLS*(DSM+1)  - 
                          ,    
                              
                 ( ). 
     DRM  -          .  AL0,AL1 
                             
               .   DRM -  1  ,   
                       32-X        
               .   AL0  AL1   
               DRM.       16 
               ,    : 
          ------------------------------------------------- 
          I         AL0           I           AL1         I 
          I00 01 02 03 04 15 06 07I08 09 0A 0B 0C 0D 0E 0FI 
          ------------------------------------------------- 
 
                 00       
               AL0,     0F -     AL1. 
                         
                  - T.E.         
                  - 16  .        
                 32 .    
                      
                : 
 
                    BLS          1  
                   1024                 32 
                   2048                 64 
                   4096                128 
                   8192                256 
                  16384                512 
 
                 ,    DRM=127  (128   
               ),     BLS=1024  (),     
                 32-E , ..  
                  4  .        
                   4            AL0, 
               : AL0=F0 , AL1=00. 
     CKS  -        (  8 
               ).    CKS  :   
                  ,    CKS=(DRM+1)/4, 
                DRM -     . 
                  ,   CKS=0,      
                              
               . 
     OFF  -                , 
                   .  
                             
                   ,         
                SETTRK ,     
                        
               . 
        
 
                    BDOS CP/M 
 
                BDOS CP/M
 
      (FCB) 
    36 ,   
  CP/M 
 
 FCB 
 
 00 01 02     08 09 0A 0B 0C 0D 0E 0F 10     1F 20 21 22 23 
------------------------------------------------------------ 
!DR!F1!F2!/ /!F8!T1!T2!T3!EX!S1!S2!RC!D0!/ /!DN!CR!R0!R1!R2! 
------------------------------------------------------------ 
 00 01 02     08 09 10 11 12 13 14 15 16     31 32 33 34 35 
 
DR    -   0-16 (0-..;1-A;2-B...16-B) 
F1-F8 -     ASCII   =0 
T1-T3 -     ASCII   =0 
EX    -                      (=0) 
S1,S2 -                    (=0) 
RC    -                     (=0) 
D0-DN -                      ( ) 
CR    -                (=0) 
R0,R1,R2   -       ( ) 
          16  
FCB    "CR"    ! 
   
 
0 (C=00) -   (  ) 
1 (C=01) -       
2 (C=02) -      E 
3 (C=03) -      A 
4 (C=04) -       
5 (C=05) -      E 
6 (C=06) -  /  TE  
           E=0FFH -     , 00 
           E=ASCII  -  
7 (C=07) -    /  AK 
8 (C=08) -   /   E 
9 (C=09) -    T 
           DE -     
           $  -    ( ) 
10(C=0A) -        
           DE -    
            -      
              
           DE:  +0 +1 +2 +3 +4 +5 +6 +7  ...  +254(MAX) 
               ---------------------------------- 
               !MX!NS!C1!C2!C3!C4!C5!C6! ... !??! 
               ---------------------------------- 
           MX -      
           NS -     
           C1..-  
 
11(C=0B) -      
           AK=00 -  , =0FFH -  
 
12(C=0C) -    CPM  HL 
           H=0 - P/M , H=11 - MP/M 
           L=20...2F  CP/M 2.0 ... 2.15 
 
13(C=0D) -    
 
14(C=0E) -      E 
           0-A,1-B,2-C,.....,15-P 
 
15(C=0F) -    
            : DE -  FCB  
           : AK -   (0-3)  0FFH , 
                
 
16(C=10) -    
            : DE -  FCB  
           :  -   (0-3)  0FFH ,  
                
 
17(C=11) -   -      
            : DE -  FCB 
           :  -   
                , 
              
 
18(C=12) -   -     17    
              
 
19(C=13) -    
            : DE -  FCB 
           :  - KO  (0-3)  0FFH- T 
 
20(C=14) -   
            : DE -  FCB,     
            , .      
             
           : =0    <>0    
 
21(C=15) -   
            :  ,   20 
           : =0    AK<>0    
 
22(C=16) -   
            : DE -  FCB 
           :  -   (1-3),   
           =0FFH ,    
 
23(C=17) -   
 
24(C=18) -      
 
25(C=19) -    
 
26(C=1A) -     DE 
 
27(C=1B) -     HL 
 
28(C=1C) -     
 
29(C=1D) -   " "  HL 
 
30(C=1E) -    
 
31(C=1F) -       HL 
 
32(C=20) - /   
 
33(C=21) -     
 
34(C=22) -     
 
35(C=23) -    
 
36(C=24) -    
 
          :  
 
  BDOS    EQU       5         ;    BDOS 
          MVI       C,9       ;   " " 
          LXI       D,ADRES   ;  DE     
          CALL      BDOS      ;   
 
 
          *************************** 
               10 . 09 . 1987 .
          ***************************
 
 

