         CDB:  DEBUGGE  FO  BD                                         PAG  1









                              CDB: A DEBUGGER FOR BDS C



                                     VERSION 1.2
                                   4 NOVEMBER 1982

                                    DAVID KIRKLAND
                                  5915 YALE STATION
                            NEW HAVEN, CONNECTICUT  06520
                                    (203) 787-9764

                         COPYRIGHT (C) 1982 BY DAVID KIRKLAND

                     THI   DOCUMEN   I    CONTINUATIO   O   TH  CD   APPENDI   
         FRO  TH  BD    USER'  GUIDE    I  I   SUPPLIE  O  DIS  INSTEA  O  O   
         PAPE    BECAUS   O   TH   LARG   NUMBE   O   CHARACTER   THA     AR    
         UNPRINTABL   O   TH  DAIS  WHEE  CURRENTL  BEIN  USE  T    RU    OF    
         TH  USER'  GUIDE   NOT  THA  AL  REALL  USEFU  REFERENC  MATERIA  I   
         I  TH  CD  APPENDI  O  TH  USER'  GUIDE   TH   MAI  ITEM  GIVE  HER   
         ARE A FILE LISTING AND A SAMPLE CDB SESSION.




                                    FILES SUPPLIED


                     TH   FOLLOWIN  CDB-RELATE  FILE  AR  SUPPLIE    O    TH    
         CD   DISTRIBUTION DISK:

           L2.C            \  SOURCE CODE FOR L2 LINKER
           CHARIO.C        /
           L2.COM             EXECUTABLE FORM OF L2 LINKER


           CDB.DOC            THIS FILE

           CDB.H              HEADER FILE FOR CDB.COM AND CDB2.OVL

           CDB.COM            PREPARED FOR BDOS AT OR ABOVE D000

           CDB1.H          \
           CDB.C           -  SOURCE CODE FOR CDB.COM
           BUILD.C         /

           CDB2.OVL           PREPARED FOR BDOS AT OR ABOVE D300




             CDB    DEBUGGE  FO  BD                                     PAG  2




           CDB2.H          \
           CDB2.C          !
           ATBREAK.C       !
           BREAK.C         -  SOURCE CODE FOR CDB2.OVL
           COMMAND.C       !
           PRINT.C         !
           PARSE.C         !
           UTIL.C          !
           DASM.CSM        /

           DASM.CRL           CRL VERSION OF DASM.CSM

           CDB.SUB            COMMAND FILE TO SIMPLIFY COMPILATION AND LINKAGE
                              OF CDB.COM
           CDB2.SUB           COMMAND FILE TO SIMPLIFY COMPILATION OF
                              CDB2 COMPONENTS
           LCDB2.SUB          COMMAND FILE TO SIMPLIFY LINKAGE OF CDB2.OVL




                      AN EXAMPLE -- A CDB DEBUGGING SESSION


              THI   SECTIO   CONTAIN    TRANSCRIP  O    DEBUGGIN  SESSIO   T   
         DEMONSTRAT   TH   US   O   CDB     TH   TARGE    PROGRAM   WHIC   I   
         CONTAINE  I  TH   FIL  TARGET.C  I  A  FOLLOWS:

            /*
                /.     DAVI  KIRKLAND  2  OCTOBE  1982
             *
                THI  I    SHOR  SUBMI  PROGRAM   I  I  DESIGNE  T  B  USED
                WHE  TH  USE  WANT  T  BATC    FE  COMMANDS  BU  IT'  TOO
                MUC  TROUBL  T  EDI    SU  FIL  T  D  TH  WORK   I  CA  BE
                USE  I  TW  FORMS:
             *
                B>  COMMAN  LIN  1  COMMAN  LIN  2  ..  COMMAN  LIN  N
             *
                OR
             *
                    B>/
                    [COMMAN  1
                    [COMMAN  2
                     .
                     .
                    [COMMAN  N
                    ]
             *
                I  TH  FIRS  FORM  TH    COMMAN  I  ENTERE  WIT  ARGUMENTS.
                GROU  O  CHARACTER  DELIMITE  B    SEMICOLO  (O  TH  EN  OF
                TH  LINE  I  TREATE  A    SEPARAT  COMMAND.
             *




             CDB    DEBUGGE  FO  BD                                   PAG  3



                I  TH  SECON  FORM    I  ENTERE  WITHOU  ARGUMENTS.
                  THE  PROMPT  WIT    "["  AN  TH  USE  ENTER  COMMANDS  ONE
                PE  LINE     NUL  LIN  TERMINATE  COMMAN  ENTRY.
                (T  ENTE    NUL  LINE  ENTE    SING    O  TH  LINE.)
             *
                I  EITHE  FORM  CONTRO  CHARACTER  CA  B  ENTERE  EITHER
                DIRECTL  O  VI    SEQUENC  BEGINNIN  WIT    "^  AN  FOLLOWED
                B    LETTE  O  ON  O  TH  CHARACTERS          _
             *
             */


            #INCLUD  <BDSCIO.H>

            #DEFIN  OPE             1       /  BDO  FUNCTIO  CODE   */
            #DEFIN  CLOS            16
            #DEFIN  DELET           19
            #DEFIN  CREAT           22
            #DEFIN  SET_DM          26
            #DEFIN  RAND_WRIT       34
            #DEFIN  COMPUTE_SIZ     35

            STRUC  FC                       /  DEFIN  FC  FORMA     */
                    CHA  DRIVECODE;
                    CHA  FNAME[8];
                    CHA  FTYPE[3];
                    CHA  EXTENT;
                    CHA  PAD[2];
                    CHA  RC;
                    IN   BLK[8];
                    CHA  CR;
                    IN   RAND_REC;
                    CHA  OVERFLOW;
                    ];

            #DEFIN  CPMEO  0X1A
            #DEFIN  MAXBL  256
            #DEFIN  SUBNAM  "A:$$$.SUB"

            STRUC   FC  FFCB; /  TH  WA    RECOR  FRO  TH  $$$.SU   */
            STRUC   SUBRE          /      FIL      LOOKS            */
                    CHA   RECLEN   /     NUMBE  O   CHARACTER   I  COMMAN  */
                    CHAR ALINE[127];        /*    COMMAND LINE             */
                            ] ;

            STRUC   SUBRE  OUT[128];

            STORELINE(BLOCK,LINE  IN  BLOCK  CHA  *LINE  [

                    /  STORELIN  TAKE  TH  LIN  POINTE  T  B  "LINE  AND
                       CONVERT  I  T  $$$.SU  REPRESENTATIO  AN  STORES
                       I  I  OUT[BLOCK].





             CDB    DEBUGGE  FO  BD                               PAG  4


         
            * THIS ROUTINE HANDLES CONTROL CHARACTERS (THE ^
            * ESCAPE SEQUENCE).
            (  )     ,
   ,        .

           
 "."    #INCLUDE      "."   
.   ,   .




 6.1    

         BDS-C.  
 8-     0-255.

           BDS-C.

    ,  ,     ,  GETC,  
     -1  .  
  ,       
.     GETC  ,  
-1    255,      -1  
 .     .

          
    16-     .
   ,    ,
BDS-C  ,      .
  , ' ,   
  0-255, .     


 7.  

     
             .  
      .


 7.1   


       , .. 
      ,    
     ....,   ,  
     ,   ,         
        .


 7.2   


    

      (-) 
      SIZEOF (-)

    .  SIZEOF   A  

      SIZEOF 

 ,     .    ,
     ,     SIZEOF. 
    SIZEOF      
  .


 7.5   


       ( 0)


 7.11, 7.12    ,    


      &&  //     BDS-C, 
     ,      UNIX C.
 ,   &&  //    
        .


 8.     


     :

           :      
                 - -    

    --.


 8.1  --


    .


 8.2  -


       -:
                  CHAR
                  INT
                  UNSIGNED
                  REGISTER
                  ---'

    REGISTER    INT,     
 (, REGISTER UNSIGNED ),      
.

     VOID    INT   
   ,     . 
  .

   UNSIGNED INT FOO    UNSIGNED FOO.


 8.3  


     . ,    :


          -:
                   
                   , -


 8.4   


   UNIX C     ,  
      

         STRUCT FOO*(*(*BAR[3][3][3]) () ) ();

     BAR,    3*3*3   
,    ,    
  F. , BDS-C    .

        BDS-C  .

           -:
                CHAR
                INT
                UNSIGNED
                STRUCT
                UNION
 
           -:
                -
                --
                -

      , -,  , 
    ,   ,           
 (  )   .  
-    ,   ,  
-      .

   ,     

             INT X,Y;
             CHAR *X;
             UNSIGNED *FRAZ;
             CHAR **ARGV;
             STRUCT FOOBAR *ZOT, BAR;
             INT *(*IHTFP) ();         /*  , 
                                             */
 
       ,     -
  '   (  -). 
      :

             CHAR *X[5][10];
             INT **FOO[10];
             STRUCT STEPH BAR[20][8];
             UNION JOYCE *OHBOY[747];
             INT *(FOOBAR[10]) ();      /*   10  ,
                                             */

   ,       ,  
, STRUCT  UNION (     STRUCT  UNION):       

             CHAR *BAR();          - ,    

             CHAR *(*BAR)();       -  ,  
                                      
             CHAR *(*BAR[3][2])(); - 3*2   , -
                                        
             STRUCT FOO ZOT();     - ,    FOO 
                                     ()  
             STRUCT FOO *ZOT();    - ,   
                                       FOO 

        BDS-C  ,   
 .    FOO    
CHAR (*FOO)[15], TAK KAK      
CHAR *FOO[15].   ,   , '
,     , 
      
 .      .  
       OTHELLO.


 8.5           

      .  :

        ---:      
            STRUCT--UNION BEGIN STRUCT-DECL-LIST END
            STRUCT--UNION  BEGIN STRUCT-DECL-LIST END
            STRUCT--UNION 

        STRUCT--UNION:
            STRUCT
            UNION

        STRUCT-DECL-LIST:
            -
            