



           


              
              

               "  "






                                      
                               

                              . 
                             ... , 

                             _________________  ..

                             "____" __________  1988 .







              

         (   " ").










                                                  :

                                , ...          ..

                                                  ..




                             - 1988.

                              - 2 -








                            






 1.   1.                                                   6



 1.1.     .                               6

 1.2.      .                            9

 1.2.1.     ,    

            .                                        9

 1.2.2.       .                                  11

 1.3.      .                             12

 1.3.1.    .                                               12

 1.3.2.    .                                               14

 1.3.3.    .                                               14

 1.4.      .                         15

 1.5.       .                      16



 2.    3.                                                 20



 2.1.     .                                      20

 2.1.1.      .                         20

 2.1.2.      .                         21

 2.1.3.    A   .          22

 2.1.4.    A   .            22

 2.1.5.      .                    24

 2.1.6.       .            24

 2.1.7.      .                           25


                              - 3 -




 2.1.8.      .                           26

 2.1.9.     .                          26

 2.1.10.   K-           

           .                                           27

 2.1.11.   O .                             27

 2.1.12.   O- .                    28

 2.2.      .                        30

 2.3.      .                             31



 3.    3.                                                 35





 4.   4.                                                  46



 4.1.       - .WORD, .BYTE .             46

 4.2.             .ASCII,

         .ASCIZ, .RAD50 .                                       49

 4.3.             

         .RADIX .                                               52

 4.4.         -  .EVEN,

         .ODD, .BLKB, .BLKW .                                   53

 4.5.     .GLOBL .                                     54

 4.6.       .                    54

 4.7.        .LIMIT .          55

 4.8.          -   .PSECT,

         .ASECT, .CSECT .                                       55



 5.   5                                                   59



 5.1.     .                                  59

                              - 4 -




 5.2.     .                                    61

 5.3.               

         .                                          64

 5.4.       .                66

 5.5.                   

         .                                            68

 5.6.                 

         .                                             69

 5.7.    ,         

         -.NARG, .NCHR, .NTYPE .                                71

 5.8.     .ERROR  .PRINT .                            72

 5.9.              -

         .LIST, .NLIST, .TITLE, .SBTTL, .IDENT, .PAGE .         73

 5.10.        .ENABL,

         .DSABL .                                               75



 6.   6.                                                  76



 6.1.        .IF .              76

 6.2.         -  .IFF,  .IFT,

         .IFTF .                                                82

 6.3.       .        84



 7.    7.                                                 87



 7.1.      .                       87

 7.2.     .                                      91

 7.3.     .MEXIT .                                     91

 7.4.     .                                92

 7.5.       .ENTER .                   94

                              - 5 -




 7.6.     .CLOSE .                                  95

 7.7.        .WRITE .                    97



 8.   8.                                                 100



 8.1.     .LOOKUP .                                100

 8.2.     .READW .                                 101

 8.3.     .PRINT .                                 103

 8.4.     .TTYIN  .TTINR .                        104

 8.5.     .TTYOUT  .TTOUTR.                       106

 8.6.     .SAVESTATUS .                            108

 8.7.     .REOPEN .                                108

 8.8.     .CDFN .                                  109



 9.   9.                                                 112



 9.1.     .DATE .                                  112

 9.2.     .TWAIT .                                 112

 9.3.     .GTIM .                                  113

 9.4.     .                                 113

 9.5.      -2.                           115



 10.  10.                                                120



 10.1.       .      120

 10.2.   .                                          123

 10.3.    ' .                          123

 10.4.     GSD.                                  125

 10.5.     ( TXT )   ( RLD ).           129


                              - 6 -




                           1.  1.









       :   .   , ,

                      .  

                     .







       1.1.  .





                           

  (,,), ,  .    -

        ,  -

    ,     .

         .  

             

     .      

   ,   .


              -

    ,    ,  

   ,    -

  .           ,

      .   -

    ,     .


            ,   

                              - 7 -




    ,   ,    ,

       .      

  ,         ,

      .


               -

   ,    ,   -

  ,         ,      

  . ,      ,

    ,      .    e

  ,        -

   ,   ,          

   .


            

       (.1.1). , -

     25 28. .     

  ''.        '-

  '.     ''.    

    '' ,      

       .      

    2,      ''  

     2.      ''    

   ''  ,     -

   ''.


         25  28.     5    8,    

   ''        '-

  '.     ''.   -

       ''    '.',  

      ''   ''


                              - 8 -











                              - 9 -




        ,        ''.

    25         '-

  '.         '.'  

         ''. 

   25  28.         

       '',    -

     .


       ,     .     

     '',     .



       1.2.   .





         -     ,    

      .    

  : 1)  ; 2)  -

      ;         

  ,         

    ;   3)         0      9;

  4) ,      -

  ; 5)  -  (  ),    (

  ),  (  -  14,    - -

   ),  ( ); 6)  .

         1.2.



       1.2.1.  ,    

               .





                              - 10 -




   :    -  ;

   ::   -   ;

   =    -  ;

   ==   -  ,     

           ;

   %    -   ;

    -       

          ;

   #    - ()-        

          ;

   @    - ( ) -     

          ;

   (    -         -

          ;

   )    -          -

          ;

   ,    -   ;

   ;    -   ;

   <    -     ;

   >    -     ;

   +    -      

            ;

   -    -     

            ;

   *    -   ;

   /    -   ;

   &    - ( )-    '',

          ';

   !    -    '', ';

   "    - ()     

                              - 11 -




            -7;

   '    -     

            -7;

   ^    -      

          ;

   $    - (  )-    

           -   ;

   .    -   ,   

           .



       1.2.2.  .





         (  )    -

     ,     -

         ,  -

   ,   .   

  -  (3-4)-   , -

   .         

     .    -

    ,      , 

   ,        

  ,      -

   . ,  .TITLE  PRIMER  -

         PRIMER  -

   ' .


       :



  %0 - 0 


                              - 12 -




  %1 - 1 

  %2 - 2 

  %3 - 3 

  %4 - 4 

  %5 - 5 

  %6 - 6 

  %7 - 7 



       1.3.   .





        -  ,       

       ,    -

   .      : -

   , ,      ,  

  .



       1.3.1. .





          ,    

          

  .      -

    ,        -

     (U).   ''  -

     1.3.


              ,   

           -

     .


                              - 13 -







                              - 14 -




       1.3.2. .





           ,      

        ,    

           .  

           .RADIX  .

   ,        

    (..1.4). ,   177777  (-

  )       (T).



       1.3.3. .





         :  1)      ;

  2) ; 3)   ,  -

   ; 4) ,     ,

        ;  5)    

   (.1.5).


            .


    'X   -   X    ,  0 

             ;

    "XY  -   X    ,   Y

             .


            ;   -

     ( - ),  , -

     .


               .

                              - 15 -




    ^      -

     .


    ^F  -       

          ,  15  -  , 14-7 - ,

          6-0 -  (   ^F3.0 );

    ^C  -      

          ( , ^C24 --> 177753  );

    ^D  -    ;

    ^O  -    

          ( , ^O --> 177400 );

    ^B  -    

          ( , ^B --> 1111111100000000 ).


            .  -

     ,  ,    -

   ,   .    -

       ,     -

  ,    .



       1.4.   .





          ,   

  .      16 

  .    ,  

  ,           

    .           

  (.1.6).


                              - 16 -




            :



          1+2*3          9

         1+<2*3>         7

         -+-A            -<+<-A>>


               0.      

      ,     

   ,   .   -

      (A)  (Q)    -

  .



       1.5.    .





              .

             

       80  (  

   132 ) (.1.7).


                

   (  ).    -

   .        -

  ,   , ..       

  ,  ,   , .


             -

  ,     




     R0=%0     ;   0

     . . . .

                              - 17 -













                              - 18 -




     R5=%5

     R6=%6

     R7=%7

     SP=%6

     PC=%7


           (  ) -

   ,      -

   .WORD .


                -

  ,            

     .     

     :    

  ,   -  9,    17,   -

    33.


             ''   (.1.8).

       .


         (.1.9)    

    ( ),  ,  -

  .      .


          (.1.10)    -

  ,      .  -

           -

  .


         (.1.11)  .


                 

  .1.12.


                              - 19 -







                              - 20 -




                           2.   2.









    :       

                    .







       2.1.  .





                   

    .      -

      ,      

   .          

       .



       2.1.1.   .





         ,      -

    .    , -

       .


         



      R4=%4

      %0+2       -     2


                              - 21 -




      R4+1       - -----   "   ------   "   --- 5

      2+%1+%2    - -----   "   ------   "   --- 5

      %2+R4      - -----   "   ------   "   --- 6



       2.1.2.   .





             ,    -

  .        ,     

  .      


          @<>


            


          (<>)


               0  

  7.   ,     

          .


        



     @R1   -       1

     @1+%1 - -----   "   ------   "   ------   "  2

     (R3)  - -----   "   ------   "   ------   "  3

     @R3   - -----   "   ------   "   ------   "  3

     (3)   -       3

     X=10

     (X-4) -       6


                              - 22 -




       2.1.3. A   .





               ,  

    ,      -

      2,    ,      1,

     (   ).


         JMP  JSR ,   , -

       .


             

  


               (<>)+


             



    (R3)+    -     3

    (3)+     - -----   "   ------   "  - 3

    (R3+%0)+ - -----   "   ------   " -- 3

    (%1+2)+  - -----   "   ------   " -- 3


            3 

    2  1.



       2.1.4. A   .





              -

      .


                              - 23 -






       -------------
       !           !
   ----!    !    -   
   !   !           !
   !   !___________!
   !
   !
   !
   !   -------------      -----------
   !   !           !      !         !
   --->!      !    --!  !   -  
       !           !    ! !         !
   ----!   !    ! !_________!
   !   !           !    !
   !   !___________!    !
   !                    !
   !                    !                 
   !                    !
   !   -------------    ! -----------     -----------
   !   !           !    ! !         !     !         !
   --->!    !    ->!  !     ! -!
       !           !      !         !     !         !
       !___________!      !_________!     !  !
                                          !_________!


            ,    

  ,      2,    

  ,   1 -   .   


             @(<>)+


           ,     

   .


             



   @(R3)+     -        3

   REG=4

   @(REG-1)+  -   -----   "   ------   "   ------   "   ------   3

   @(%1+2)+   -   -----   "   ------   "   ------   "   ------   3


          10     100.  

   3    ,     100.  

                              - 24 -




      3    2  

   1.



       2.1.5.   .





                

  ,  ,     -

  ,     2   1 

   -  -.  


            -(<>)


          ,        

  .


             



    -(R3)            -        3

    -(3)                         ,

    -(%1+2)                2  1.



       2.1.6.    .





                 

  ,    2  1  (  

   )     .  

   


          @-(<>)



                              - 25 -




         .



           



      @-R3       !    3    2 

      @-(3)      !  1    ,   

      @-(%1+2)   !  .

      @-(1+%2)   !





       2.1.7.   .





           



         <>(<>)


          , ,     -

   ,  .    

       .


            



   +2(R1)     -    - X+2  

                   .

   -2(R3)      -    -   3  2.

   "XY(%1+^O2) -    -   3 

                  ,     

                  .


                              - 26 -




       2.1.8.   .





           



           @<>(<>)


          ,  ,  

    .          

      .


           



    @X+2(R1)          -      -  X+2  

                           .

    @-^B010(R1+^B010) -       -  2 

                           3.



       2.1.9.  .





           



            #<>


             

  .


           



    #^O177770   -   1111111111111000

    A1=100

                              - 27 -




    #A1         -   100

    #10         -   10

    #LABEL      -    , 

                   LABEL.

    #LABEL+2    -      

                    LABEL  2.



       2.1.10. K-           

               .





      



             @#<>


             -

  .


           



    @#100.     -    100.

    @#^O144    -    100.

    @#LABEL    -   -    e  LABEL.

    @#LABEL+10 -   -  10    

                  LABEL.



       2.1.11. O .





       



                              - 28 -




             <>


                

   .


           



    100     -   100.

    ^O144   -   100.

    LABEL   -   -     LABEL.



       2.1.12. O- .





        : @<>


             -  

     .





                              - 29 -




     -------------
     !           !
   --!      !  --  -  
   ! !- - - - - -!
   ! !  !  --  - 
   ! !           !
   ! !___________!
   !
   !
   !
   ! -------------     -------------
   ! !           !     !           !
   ->!      !   --!      ! -  
   ! !           !   ! !           !
   ! !   !   ! !-----------!
   ! !           !   ! !           !
   ! !___________!   ! !  ! -- 
   !                 ! !           !
   !                 ! !___________! -
   !                 !
   !                 !
   !                 !
   ! -------------   ! -------------
   ! !           !   ! !           !
   ->!    !   ->!    !
     !           !     !           !
     !___________!     !___________!



     -------------
     !           !
     ! -!  --  
     !           !
     !    !
     !           !
     !___________!


               

   .    ,   -

    .


            



    @100    -         100

    @^O144




                              - 30 -




       2.2.   .





            

     . :

       1.     .

       2.  .

       3.     ().    

    ,     -

   ,    ( 

  )  (  )  -

        .

       4.      (),    

  .       3.

       5. ,  ,   

  3  4.

  .         

             ,       

            (   PDP-11).    .




         .


        MOV   (R1)+,(R1)


         R1  2000,  2000  10,

    2002 - .   3     (

   2000)  R1   2002.   4   -

    2002.           2002

   10.   


                              - 31 -




        ADD   (R1)+,R1



   3   -   - 2000, R1 = 2002

   4   -  R1 (R1=2002)

   5   - : R1=2012

         ADD   R1,(R1)+

   3   -  R1 (R1=2000)

   4   -   - 2000, R1=2002

   5   - :    2000    2010,   

              5.     2000 

            2012,  2010.



  A:    MOV   #.,R0


       T        -

   , ..   A.



       2.3.   .





               -

  



                     --->------------------>----------------
      ------------   !                  !                  !
      !          !   !                  !                  !
      !  !   !   ------------   !   ------------   !
      !          !   !   !          !   !   !          !   !
  --->!   !------>!   !------>!   !------->
      !          !       !          !       !          !
      !__________!       !__________!       !__________!



             

       N,V,C,Z.

                              - 32 -




   N=1     ;

   Z=1      0;

   V=1      ;

   C=1         ,

          .


         , 

  1)       ;

  2)      ;

  3)        .


           :



           1)   .


               ,  

   ().


   CLR,CLRB     DEC,DECB     ASR,ASRB     ROL,ROLB

   COM,COMB     NEG,NEGB     ASL,ASLB     SWAB

   INC,INCB     TST,TSTB     ROR,RORB

   ADC,ADCB     SBC,SBCB     SXT,SXTB




           2)  .


           .   

    (),   ().


   MOV,MOVB     BIC,BICB     ADD     BIT,BITB

   CMP,CMPB     BIS,BISB     SUB




                              - 33 -




          3)   .



              .


            -- , -

    -  .    

  (S).


             :  -    

     ;   ,    

    ;   ,   -

  ,      -128  +127.


           .    ,  

   ,        ,

    2,      2.


              -

  ,           

   (A).


   BR     BPL     BVC     BCS     BGT     BLOS

   BNE    BMI     BVS     BGE     BLE     BHIS

   BEQ    BLO     BCC     BLT     BHI



               :



   JMP     JSR     RTS



           K :



   EMT    TRAP     BPT     IOT     RTI


                              - 34 -




         EMT, TRAP   , -

       377.    ,    

    8      (T).




          4)  .



                :





   CLC      CLN       SEV       SCC

   CLV      CCC       SEZ       NOP

   CLZ      SEC       SEN



            :



    HALT    RESET     WAIT



            :



    MUL    ASH      XOR     MARK

    DIV    ASHC     SOB


                              - 35 -




                           3.   3.









    :    .









      :



   - 

   - 

  S - 

  R - 

  R'- ,   R,   R+1

  & -  

  ! -  

  ^ - 

  $ -  ''



  N,Z,V,C -      .



  PSW -   ,

  SP  -  , 6- ,

  PC  -  , 7- .



         ,

    -  .

                              - 36 -






  --------------------------------------------------------------

  ADC          ( C)  

  ADCB  

                 +C -->                        V,C,N,Z=0/1

  --------------------------------------------------------------

  ADD   ,      



                  + -->                       V,C,N,Z=0/1

  --------------------------------------------------------------

  ASH   ,R   A     n .

                  

                n    -32. <= n <= 31.



        n<0       n 


                   15        0
                  -------------
               -->!___________!
               !_____!                             N,Z,V=0/1


        n>=0      n 

                   15          0
                   -------------
              C <--!___________!<---- 0

  --------------------------------------------------------------

  ASHC   ,R      

         n<0      15   R      0      15  R'     0
                  -------------      ------------
               -->!___________!----->!__________!----->C
               !_____!

                                                     N,Z,V=0/1
         n>=0      15         0      15         0
                   ------------      ------------
               C<--!__________!<-----!__________!<----- 0


     R -  ,    

                              - 37 -





    R  R',   R ,   

   R.

  --------------------------------------------------------------


  ASL             1 

  ASLB  

                  15         0
                  -------------                        N,Z=0/1
              C<--!___________!<-----0
                                                       N$C --> V

  --------------------------------------------------------------

  ASR         A    1 

  ASRB  

                   15        0
                   ------------                        N,Z=0/1
                -->!__________!----->C
               !______!                                N$C --> V

  --------------------------------------------------------------

  BCC   S      ,              C=0

            (K     )

  BCS   S      ,           C=1

  BEQ   S      ,    

  BGE   S      ---- " -----            N$V=0

  BGT   S      ---- " -----                Z!(N$V)=0

  BHI   S      ---- " -----    ( )     C!Z=0

  BHIS  S      ---- " -----     

                             ( )                 C=0

  ---------------------------------------------------------------

  BIC   ,         

  BICB  ,

                   ^& --->                      N,Z=1/0, V=0

  ---------------------------------------------------------------


                              - 38 -




  BIS   ,         

  BISB  ,

                     ! --->                     N,V=0/1, V=0

  ---------------------------------------------------------------

  BIT   ,         

  BITB  ,

                     &                            N,V=0/1, V=0

  ---------------------------------------------------------------

  BLE   S       ,    

                                      Z!(N$V)=1

  BLO   S       ----- " -----    ( )            C=1

  BLOS  S       ----- " -----     

                                ( )                 C!Z=1

  BLT   S       ----- " -----                     N$V=1

  BMI   S       ----- " -----                    N=1

  BNE   S       ----- " -----                             Z=0

  BPL   S       ----- " -----                    N=0

  ----------------------------------------------------------------

  BPT               



                      PSW  --> -(SP)

                      PC   --> -(SP)

                      (14) -->  PC

                      (16) -->  PSW

                      

                .

  ----------------------------------------------------------------

  BR    S        

  ----------------------------------------------------------------


                              - 39 -




  BVC   S       ,      V=0

  BVS   S       ------ " ------- " ------ "-----    V=1

  ----------------------------------------------------------------

  CCC                        C,V,Z,N=0

  CLC                 C=0

  CLV           -------  " ------- " -------    V=0

  CLZ           ------- "  ------- " -------    Z=0

  CLN           ------- " -------- " -------    N=0

  ----------------------------------------------------------------

  CLR            ()

  CLRB  

                    0 --->                    N=0, Z=1, V=0, C=0

  ----------------------------------------------------------------

  CMP   ,        

  CMPB  ,

                     +(^+1)                    N,Z,V,C=0/1

                  -

  ----------------------------------------------------------------

  COM            ()

  COMB  

                      ^ --->                   N,Z=0/1, V=0, C=1

  ----------------------------------------------------------------

  DEC             1

  DECB  

                       -1 --->                 V,N,Z=0/1

  ----------------------------------------------------------------

  DIV   ,R        



                       (R,R'): ---> (R,R')         N,Z=0/1

                                                    V=1, 

                              - 40 -




                                    =0 

                                   R 

                                   ,

                                            V=0;

               R,    R'.

                ,   .

             R  ,    .

  ----------------------------------------------------------------

  EMT    NNN       

                (   0 <= NNN <= 377



                      PSW  ---> -(SP)

                      PS   ---> -(SP)

                      (30) --->  PC

                      (32) --->  PSW

                 K     

                  

  ----------------------------------------------------------------

  HALT           

  ----------------------------------------------------------------

  INC             1

  INCB   

                      +1 --->                   N,Z,V=0/1

  ----------------------------------------------------------------

  IOT              -



                      PSW  ---> -(SP)

                      PC   ---> -(SP)

                      (20) --->  PC

                      (22) --->  PSW

                              - 41 -




                K     

                 

  ----------------------------------------------------------------

  JMP           



                        ---> PC

  ----------------------------------------------------------------

  JSR   R,       



                       R  ---> -(SP)

                       PC --->   R

                         --->   PC

  ----------------------------------------------------------------

  MARK   NN         



                       PC+2*NN ---> SP

                       R5      ---> PC

                       (SP)+   ---> R5



              (  NN -    ).



              

      ,       

          ( RTS R5).

  ----------------------------------------------------------------

  MOV   ,         

  MOVB  ,

                        --->                     N,Z=0/1, V=0

  ----------------------------------------------------------------


                              - 42 -




  MUL   ,R        



                       R* ---> (R,R')             N,Z=0/1, V=0

                                                   C=1,

                                          -2**15

                                           2**15-1

                                            C=0

                   , 

                 - 16  ,

                  16   

  ---------------------------------------------------------------

  NEG            

  NEGB  

                   ^+1  --->           N,Z,V=0/1

                                         C=0, =0, C=1

  ---------------------------------------------------------------

  NOP            

  ---------------------------------------------------------------

  RESET             

  ---------------------------------------------------------------


  ROL             

  ROLB  

                       15          0
                       --------------            N,Z=0/1
                  C <--!____________!<---
                  !_____________________!        N$C --> V

                                            

                                           N  C    

  ---------------------------------------------------------------


                              - 43 -





  ROR             

  RORB  

                       15           0
                       ---------------             N,Z=0/1
                  C--->!_____________!--->
                  !______________________!

                                             

                                            N  C    

  ----------------------------------------------------------------

  RTI             



                       (SP)+ ---> PC

                       (SP)+ ---> PSW

                     

  ----------------------------------------------------------------

  RTS R           



                        R    ---> PC

                       (SP)+ ---> R

  ----------------------------------------------------------------

  RTT            



                       (SP)+ ---> PC

                       (SP)+ ---> PSW

                    

  ----------------------------------------------------------------


                              - 44 -




  SBC           

  SBCB  

                       -C --->             N,Z,V=0/1

                                             C=0,  =0,C=1

                                               C=1

  ----------------------------------------------------------------

  SCC                N,V,Z,C=1

  SEC                    C=1

  SEV        --------  "  ---------          V=1

  SEZ        --------  "  ---------          Z=1

  SEN        --------  "  ---------          N=1

  ----------------------------------------------------------------

  SOB   R,      



                    R-1 ---> R

             ,    R   0

  ----------------------------------------------------------------

  SPL   L      



               L ---> PSW (5-7)

  ----------------------------------------------------------------

  SUB   ,      



                    +(^+1) --->            N,V,Z,C=0/1

                 - ---> 

  ----------------------------------------------------------------


                              - 45 -




  SWAB         

                                              N,Z=0/1

                                              V,C=0

  ----------------------------------------------------------------

  SXT          



                    0 --->  , N=0         Z=0,  N=0

    1111111111111111B --->  , N=1         V=0

  ----------------------------------------------------------------

  TRAP NNN       ( )



                    PSW ---> -(SP)

                    PC  ---> -(SP)

                   (34) --->  PC

                   (36) --->  PSW

             (  0<= NNN <= 377 )

  ----------------------------------------------------------------

  TST                         N/Z=0/1,

  TSTB                                         V,C=0

  ----------------------------------------------------------------

  WAIT         

  ----------------------------------------------------------------

  XOR  R,      



                    R$ --->                   N,Z=0/1,  V=0

  ================================================================


                              - 46 -




                           4.  4.











    :   .








           ,    

             

  .         

    ,   ' ,  -

  ,  ,  ..



       4.1.    - .WORD, .BYTE .





            -

    . 4.1.


         .WORD     

    ,   .


           1.



              SAL=0

             .=500

             .WORD    177535,.+4,SAL


                              - 47 -









                              - 48 -




         ,    500,   -

      :


             ()



         500 ---  177535

         502 ---  506  (..  PC=502  4)

         504 ---  0





         2.



         M:   .WORD    25,^B010,M+2



           



               ()

          M   ---  25

          M+2 ---  2

          M+4 ---  M+2


       ,        16

  .     .


         .BYTE   ,  

    .     

    .         

   0  -1,       (

  T).


           3.



                              - 49 -




             SAM=5

             .=410

   M1:       .BYTE    ^D48,,SAM,M1-400



         



             ()

      M1,410 --- 60

         411 --- 0

         412 --- 5

         413 --- 10





       4.2.          .ASCII,

            .ASCIZ, .RAD50 .





               

  . 4.2.


           -7      .ASCII,  .ASCIZ,

  .RAD50      -7. -

       ,   

  ,  "<", "=", ";".    

   8      .


            ,    -

   .ASCII  .ASCIZ    (  I ).


         .ASCII      

      -7     -


                              - 50 -




     .


          4.



            .=100

            .ASCII    //<.>/- /<15><12>



           

           100 --  A

           101 --  

           102 --  

           103 --  

           104 --  

           105 --     105

           106 --  -

           .  .  .  .  .

           126 --  

           127 --     15

           130 --     12


        .ASCIZ    .ASCII  ,

           -

   .


           5.



            .=100

            .ASCIZ A<15><12>



          

           100 --  


                              - 51 -




           101 --  

           102 --  

           103 --  

           104 --  

           105 --     15

           106 --     12

           107 --     0


        .RAD50      

   50-        .   -

          ,      

     .


                RADIX-50    (50 - )

   -----------------------------------
   !           !                     !
   !     !  ()  !
   !           !                     !
   !-----------!---------------------!
   !           !                     !
   !     !    0                !
   !           !                     !
   !    A      !    1                !
   !    .      !    .                !
   !    .      !    .                !
   !    .      !    .                !
   !    Z      !    32               !
   !           !                     !
   !    $      !    33               !
   !           !                     !
   !    .      !    34               !
   !           !                     !
   ! .!    35               !
   !           !                     !
   !    0      !    37               !
   !    .      !    .                !
   !    .      !    .                !
   !    .      !    .                !
   !    9      !    47               !
   !           !                     !
   !___________!_____________________!

         C1,C2,C3    RADIX-50    

  ((C1*50)+C2)*50+C3       .    

     ,     

                              - 52 -




   ( Q).


              6.



                                      



                                            (

     M:       .RAD50/ABC/                 M   --  3223

              .RAD50/AB/<32>              M+2 --  3223

              .RAD50/XY/<32>/AB/          M+4 --  115002

                                          M+6 --  3220



       4.3.          

            .RADIX .





              .RADIX   N



       N=2,4,8,10 -   .


         ,    

   .


              7.



              .RADIX 8

               MOV   #15,R0         -  15 -  R0

              .WOLD  10,^D10,10.    -  10,12,12 -

              .RADIX 10

               MOV   #15,R0         -  17 -  R0

              .WOLD  10,^O10,10.    -  12,10,12 -


                              - 53 -




       4.4.      -  .EVEN,

            .ODD, .BLKB, .BLKW .





   .EVEN  -     ,  

              .

   .ODD   -     ,  

             .


                    

    .BLKW, .BLKB (.4.3).


          ,   

     .     .BLKB    

     ,     .BLKW  

       .




             8.



              .=101

              .EVEN

       M1:    .BLKB   20  ; M1  -  102 -

              .WORD   10  ;   122  10

              .RADIX  10

       M2:    .BLKW   20  ; M2  -  124 -

              .WORD   10  ;   174  12 -


                              - 54 -




       4.5.  .GLOBL .





        .GLOBL (.4.4)   ' -

   .   ,       ,

      .




           9.



            .GLOBL   A,B,C   ; A,B,C -  .



    A,B,C  '    :



       A::   .WORD   0    !    A== 

       B::                !    B== 

       C::   .BLKW   2    !    C== 



       4.6.    .





        .END  (.4.5)        

  .          ,  

     ( E).   -

               

   .


           10.



               .  .  .  .  .

    START:     MOV   #50,R0    ;   

                              - 55 -




               .  .  .  .  .   ;   

               .  .  .  .  .

               .END   START



       4.7.     .LIMIT .





           ,   -

            -

   .



       4.8.       -   .PSECT,

            .ASECT, .CSECT .





           . 4.6.


         .PSECT      

          

   .


               

  ,     .      -

  ,     .  :


     R0   -   .

  *  RW   -     (  *

              ).

  *  I    -     .

     D    -   .




                              - 56 -




  *  LCL  -       , 

             .

     GBL  -  ,    

                   , 

              '   .



     ABS  -  ,    

              0.     

             ,   .

  *  REL  -  .



  *  CON  -     ' 

              .

     OVR  -      

                  .

            '       

             .


                -

   .    ,          -

  .


          11.



        .PSECT         ;    

  A:    .WORD    0     ;  0

  B:    .WORD    0     ;  2

                                  ---
        .PSECT ALPFA                 !
                                     !
  X:    .WORD    0     ;  0     !
                                     !
  Y:    .WORD    0     ;  2     !
                                     !

                              - 57 -




                                     !
        .PSECT                    <--

  D:    .WORD    0     ;  4


          12.



        .PSECT SEG1,REL,R0

  A:    .WORD    0     ;  0

  B:    .WORD    0     ;  2

  ST:   CLR      A     ;  4

        CLR      B     ;  10  -



         .PSECT SEGA,ABS

        .WORD    .+2,A ;  0



        .PSECT SEG1

        INC      A     ;  14

        BR       ST    ;  20





           13.



        .PSECT ENT,ABS

        .=.+1000

  A:    CLR     X      ;  1000,  X -  SEN+10

        JMP     Y      ;  Y -- SEN+6



        .PSECT SEN,REL

        MOV     R0,R1  ;  0

        JMP     A      ;  2,  A -- 1000

  Y:    .WORD   0      ;  6

                              - 58 -




  X:    .WORD   0      ;  10


        .ASECT  .CSECT       

  .PSECT    :


        .ASECT ---> .PSECT ABS,RW,I,GBL,ABS,OVR

        .CSECT ---> .PSECT ,RW,I,LCL,REL,CON

        .CSECT  ---> .PSECT ,RW,I,GBL,REL,OVR


                              - 59 -









                            5.  5









     :   .







       5.1.  .





              -

           -

  .  -  ,      

     .    

  ,   ,   -

     .



                        ----------------
       !                !
  -------------------->!   -       !      
                       !                !
          !                !------>
  -------------------->!       !       
                       !________________!



                  

  ,        .    

       .  


                              - 60 -







                              - 61 -




                -

   .  ,   -

     .    

     .5.1.




           1.



      .MACRO  SAVE  A,B,C   ;   A,B,C -  

              MOV   A,-(SP) ;          

              MOV   B,-(SP) ;          

              MOV   C,-(SP) ;

      .ENDM   SAVE          ;     SAVE




          .ENDM  ,        -

      ,        

  .MACRO.     .ENDM ,     

   .



       5.2.  .





            -

        .    

      .5.2.


            2.



                             

          . . . . . . . .                . . . . . . . .


                              - 62 -




          SAVE  R1,R2,R5      --->       MOV   R1,-(SP)

          . . . . . . . .                MOV   R2,-(SP)

                                         MOV   R5,-(SP)

                                        . . . . . . . .

          SAVE  R1,A,Y2      ---->       MOV   R1,-(SP)

          . . . . . . .                  MOV    A,-(SP)

                                         MOV   Y2,-(SP)

                                         . . . . . . . .


              -

       .




             3.



          . . . . . . . . . . . .

          .MACRO  CUSTOM  REG,INS

             CLR     REG

             INS

          .ENDM   CUSTOM



          . . . . . . . . . .

  START:  CUSTOM  R2,<MOV #3,R4>    ;  --->   CLR  R2

          . . . . . . . . . . .     ;         MOV  #3,R4





           4.



         . . . . . . . . .

         .MACRO  PUSH ARG

              MOV     ARG,-(SP)

                              - 63 -




         .ENDM

         . . . . . . . . .



         . . . . . . . . .

         PUSH   X+3(%2)            ;   --->  MOV  X+3(%2),-(SP)

         . . . . . . . . .         ;





           5.



         .MACRO  LEVAL2  DIM3

              DIM3

              ADD     #10,R0

              MOV     R0,(R1)+

         .ENDM

         .MACRO  LEVEL1  DIM1,DIM2

              LEVEL2  <DIM1>

              LEVEL2  <DIM2>

         .ENDM



  START: LEVEL1 <MOV X,R0>,<MOV R2,R0> ; --> MOV X,R0

         . . . . . . . . . . . . . . . ;     ADD #10,R0

                                       ;     MOV R0,(R1)+

                                       ;     MOV R2,R0

                                       ;     ADD #10,R0

                                       ;     MOV R0,(R1)+








                              - 64 -




           6.



        .MACRO  LEVEL2 DUM3

            DUM3

            ADD     #10,R0

        .ENDM   LEVEL2

        .MACRO  LEVEL1 DUM1,DUM2

            LEVEL2  DUM1

            LEVEL2  DUM2

        .ENDM   LEVEL1

        . . . . . . . .



        . . . . . . . .

        LEVEL1  ^/<MOV X,R0>/,^/<MOV R2,R0>/ ; --> MOV X,R0

        . . . . . . . .                      ;     ADD #10,R0

                                             ;     MOV R2,R0

                                             ;     ADD #10,R0







       5.3.            

            .





        ( ' )         

    ,     -

  .





                              - 65 -




            7.





         .MACRO  DEF  A,B,C

   A'B:       .ASCIZ /C/

              .BYTE  "A,"B

         .ENDM

         . . . . . . . .



         . . . . . . . .

         DEF  X,Y,PROGR   ;  -->  XY:  .ASCIZ /PROGR/

         . . . . . . . .  ;            .BYTE  'X,'Y







            8.  .



         .MACRO  SAVE  A,B

              MOV     R'A,-(SP)

              MOV     R'B,-(SP)

         .ENDM

         . . . . . . . . .



         . . . . . . . . .

         SAVE    1,2       ; -->    MOV  R1,-(SP)

         . . . . . . . . . ;        MOV  R2,-(SP)






                              - 66 -




       5.4.    .





             ,    

    .5.3.       

   .          

    ,      -

  :


    1)   

    2)       

         .PSECT, .CSECT, .ASECT.

    3)    .ENABL LSB, 

         DSABL LSB, 

       .


                 

        ,  

            

  (?),         ,

    .       

  64$ - 127$ .




            9.



          .MACRO  AL  A,?B

              TST     A

              BEQ     B






                              - 67 -





























                              - 68 -




              ADD     #5,A

     B:

          .ENDM



          . . . . . . . .

          AL      %1       ;  -->     TST  %1

          . . . . . . . .  ;          BEQ  64$

                           ;          ADD  #5,%1

                           ;     64$:



           . . . . . . . .

          AL      %2,XY    ;  -->     TST  %2

          . . . . . . . .  ;          BEQ  XY

                           ;          ADD  #5,%2

                           ;     XY:







       5.5.                

            .





        NAME=STRING



       NAME   -   

          STRING -     








                              - 69 -




             10.



           .MACRO  TEST  C=1,BLOCK,D=TEMP

               .WORD   C

               .WORD   BLOCK

               .WORD   AD

           .ENDM



           . . . . . . . .

           TEST    A,B,C   ; -->  .WORD  A

           . . . . . . . . ;      .WORD  B

                           ;      .WORD  C



           . . . . . . . .

           TEST    BLOCK=5 ; -->  .WORD  1

           . . . . . . . . ;      .WORD  5

                           ;      .WORD  TEMP



           . . . . . . . .

           TEST    AD=20,BLOCK=30,C=40 ; --> .WORD 40

           . . . . . . . . . . . . . . ;     .WORD 30

                                       ;     .WORD 20


              

  .



       5.6.              

            .






                              - 70 -




        " \ "    ,   -

          -

   .    ,  , -

      .


               11.



            .MACRO  CNT  A,B

            . . . . . . . . .

     A'B:       .WORD   4

            .ENDM



            .MACRO  DCL  A,B

                CNT     A,\B

                B=B+1

            .ENDM

            . . . . . . . .



            C=0

            DCL     X,C       ;  --> X0:   .WORD  4

            DCL     X,C       ;  --> X1:   .WORD  4

            . . . . . . . .




             ,   

  ,   .     

     ,     ,

      .


                              - 71 -




       5.7. ,         

            -.NARG, .NCHR, .NTYPE .





          ,  

     ,   . 5.4.


                -

  .


        .MARG      -

     .


        .NCHR ,     

    .


        .NTYPE ,     

   .




                   



          R               00 -- 07



          (R)

          (ER)            10 -- 17

          @R



          (ER)+           20 -- 27

          @(ER)+          30 -- 37

          -(ER)           40 -- 47

          @-(ER)          50 -- 57


                              - 72 -




          E(ER)           60 -- 67

          @E(ER)          70 -- 77

          #E              27

          @#E             37

          E               67

          @E              77



     R  - 

        E  - 

        ER - ,  ,  

               0 -- 7 .







       5.8.  .ERROR  .PRINT .





              -

   .     . 5.5.


         .ERROR    (,  -

    )  :


  P !   !  !    !  
    !              !          !            !
    !     !  ! , !  
    !              !          !            !
    !        !    !     !
                              !            !
                                



           .


         .PRINT    " P "   -


                              - 73 -




        .    

     .ERROR.



       5.9.           -

            .LIST, .NLIST, .TITLE, .SBTTL, .IDENT, .PAGE .





         .LIST, .NLIST   .5.6.


        .LIST     ,  

  .NLIST .         

     ,     -

    .   :


  *   SEQ -    .  

            .LIST SEQ  .   

             ( .LIST  ),  

             ,    

              .

  *   LOG -   .

      BEX -     .

  *   BIN -       

            (  ).

  *   SRC -    .

  *   COM  -  .

  *   MD  -      

            .

  *   MC  -      .

      TOC -   .

      ME  -     

             .

                              - 74 -




  *   MEB -      .

      CND -   ,      

               .

  *   LD  -    .

  *   SYM -    .



    ( ,  " * " ,    ).





             

   !  !      ! 2-  3-     !  ! 
             !       !         !               !          !
        !       !  !   !     ! 



        .TITLE       '  .  

       RADIX-50.  

   .MAIN .       .


        .SBTTL     ,      

    .       -

           ,    

  .


        .IDENT / /  ,  -

     .TITLE.       

      RADIX-50     -

   .    ,     -

  .


        .PAGE      -

  .            58

  .


                              - 75 -




       5.10.      .ENABL,

             .DSABL .





            5.7.


        .ENABL     

  ,  .DSEBL .




             



   ABS     .DSABL ABS       .

   AMA     .DSABL AMA          

                           .

   LC      .DSABL LC          ASCII

                           .

   PNC     .ENABL PNC        (

                          ).

   REG     .ENABL REG       :

                               R0=%0

                               .....

                               SP=%6

                               PC=%7

   GBL     .ENABL GBL          

                             .

   GRF     .ENABL GRF        .


                              - 76 -




                           6.  6.









      :   .






            

             

   .



       6.1.     .IF .





            . 6.1.


         ,    .

   - ,    .


           .

   ---------------------------------------------------------
   !             !               !                         !
   !             !               !                         !
   !  !       !    !
   !             !               !                         !
   !      !               !  :                  !
   !-------------!---------------!-------------------------!
   !             !               !                         !
   !     EQ      !      !    = 0         !
   !             !               !                         !
   !     Z       !               !                         !
   !-------------!---------------!-------------------------!
   !             !               !                         !
   !     NE      !      !    <> 0        !
   !             !               !                         !
   !     NZ      !               !                         !
   !-------------!---------------!-------------------------!
   !             !               !                         !

                              - 77 -




   !     GT      !      !    > 0         !
   !             !               !                         !
   !     G       !               !                         !
   !-------------!---------------!-------------------------!
   !             !               !                         !
   !     LE      !      !    <= 0        !
   !             !               !                         !
   !     L       !               !                         !
   !-------------!---------------!-------------------------!
   !             !               !                         !
   !     LT      !      !    < 0         !
   !             !               !                         !
   !-------------!---------------!-------------------------!
   !             !               !                         !
   !     GE      !      !    >= 0        !
   !             !               !                         !
   !-------------!---------------!-------------------------!
   !             !               !                         !
   !     DF      !            !            !
   !             !               !                         !
   !-------------!---------------!-------------------------!
   !             !               !                         !
   !     NDF     !            !          !
   !             !               !                         !
   !-------------!---------------!-------------------------!
   !             !               !                         !
   !     B       !       !         !
   !             !               !                         !
   !             !   !                         !
   !-------------!---------------!-------------------------!
   !             !               !                         !
   !     NB      !       !       !
   !             !               !                         !
   !             !   !                         !
   !-------------!---------------!-------------------------!
   !             !               !                         !
   !     IND     !   !       !
   !             !               !                         !
   !             ! ( -   !                         !
   !             !               !                         !
   !             !  - !                         !
   !             !               !                         !
   !             !   !                         !
   !             !               !                         !
   !             ! )          !                         !
   !-------------!---------------!-------------------------!
   !             !               !                         !
   !     DIF     ! " -- " -- "   !        !
   !_____________!_______________!_________________________!



            1.


         .IF  EQ  ALFA+1




                              - 78 -









                              - 79 -




         . . . . . . .   !
         . . . . . . .   !-->  ,  ALFA+1=0
         . . . . . . .   !
         .ENDC


            2.

         .IF  DF,SYM1&SYM2
         . . . . . . .   !
                         !-->   , 
         . . . . . . .   !
                                 .
         .ENDC



            3.


         .IF  DF,SYM1

         .IF  DF,SYM2

         . . . . . .  !
                      !
         . . . . . .  !-->    , 
                      !
         . . . . . .  !        (SYM1  SYM2)

         .ENDC               .

         .ENDC



           4.


                         .IF  DF  SYM1

                       ! .IF  NDF SYM2
                       !
           ! . . . . . .  !
                       !              !
  ,  <--! . . . . . .  !-->  ,
                       !              !
  SYM1  .  ! . . . . . .  !     SYM1 , 
                       !              !
                       !  .ENDC       !    SYM2 -  .

                          .ENDC


               1





                              - 80 -




          5.     .



         .MACRO  READ  CHAR

            EMT     ^0340       ;    

            BCS     .-2         ;   R0 .

            .IF     NB <CHAR>

               .IF     DIF <CHAR>,R0

                  MOVB    %0,CHAR

              .ENDC

            .ENDC

         .ENDM



         . . . . .

         READ         ; --->   EMT  ^O340

                      ;        BCS  .-2

         . . . . .

         READ  R0     ; --->   EMT  ^O340

                      ;        BCS  .-2

          . . . . .

         READ  R1     ; --->   EMT  ^O340

                      ;        BCS  .-2

                      ;        MOVB %0,R1





          6.    

                    .



         .MACRO  SWAP  X,Y

            .IF     DIF   <X>,<Y>

               MOV     X,-(SP)

                              - 81 -




               MOV     Y,X

               MOV     (SP)+,Y

            .ENDC

         .ENDM



         . . . . . .

         SWAP    MEM,MEM   ;    



         . . . . . .

         SWAP    MEM, A    ;  --->   MOV  MEM,-(SP)

                           ;         MOV  A,MEM

                           ;         MOV  (SP)+,A





            7.



        6



        .IF DIF <X>,<Y>         .IF  NE X-Y



     

                A=200

                B=100



                . . . . . .

                .SWAP  A-100,B  ;    .




                              - 82 -




       6.2.      -  .IFF,  .IFT,

            .IFTF .





              

     .     

  ,           

              

  .


   .IFF -   ,     

             .

   .IFT -   ,     

            .

   .IFTF-      ,     

              .


       , o     ,  

     ,   

   .




          8.



         .IF  DF,SYM

         . . . . .   !
                     !-->   ,  SYM .
         . . . . .   !

         .IFF

         . . . . .   !
                     !-->    " ----- " ----- "     .
         . . . . .   !


         .IFT

                              - 83 -





         . . . . .   !
                     !-->    " ----- " ----- "    .
         . . . . .   !

         .IFTF

         . . . . .   !
                     !-->     ( 
         . . . . .   !
                     !       .IF DF,SYM ).
          .ENDC


           9.

       X - , Y -  .


          .IF  DF,X

          .IF  DF,Y

          . . . . .  !
                     !-->   
          . . . . .  !

          .IFF

          . . . . .  !
                     !-->  
          . . . . .  !
          .IFT

          . . . . .  !
                     !-->   
          . . . . .  !

          .ENDC

          .ENDC

          .IF  DF,X

          . . . . .  !
                     !-->  
          . . . . .  !

          .IFF

          . . . . .  !
                     !-->  
          . . . . .  !

          .IF NDF


                              - 84 -




          . . . . .  !
                     !--> 
          . . . . .  !

          .ENDC

          .ENDC


          .IF  DF,Y

          .IF  DF,X  !
                     !
          . . . . .  !
                     !
          . . . . .  !
                     !
          .IFF       !
                     !
          . . . . .  !----->    
                     !
          . . . . .  !
                     !
          .IFT       !
                     !
          . . . . .  !
                     !
          . . . . .  !

          .ENDC

          .ENDC




       6.3.    .





           .6.2.


        ,   .  

          -

  .





                              - 85 -




          10.



     . . . . . . . . . . .

     .IIF  DF FOO,  BEQ  ALPHA  ;   BEQ ALPHA

                                ;  FOO .



          11.  , 

                      6.



      .MACRO  SWAP  X,Y

      .IF     DIF   <X>,<Y>

      .IFF    DIF   <X>,R0     MOV  X,R0

      MOV     Y,X

      .IIF    DIF   <Y>,R0     MOV  R0,Y

      .ENDC

      .ENDM



      . . . . . . .

      SWAP    MEM,MEM   ;    .



       . . . . . . .

      SWAP    MEM,R0    ; -->   MOV  MEM,R0

                        ;       MOV  R0,MEM



      . . . . . . .

      SWAP    R0,MEM    ; -->   MOV  MEM,R0

                        ;       MOV  R0,MEM




                              - 86 -




      . . . . . . .

      SWAP    A,B       ; -->   MOV  A,R0

                        ;       MOV  B,A

                        ;       MOV  R0,B




            6   

        , 

   R0.             

    ,      ,  

  .

          ,         

  ?


                              - 87 -




                           7.   7.









   :   .  .









       7.1.   .





              -

     .      -

  .           

    ,       

    ,   .


             .7.1.


                

        .    

          

  .     

   .







                              - 88 -




            1.   .





       .IPR    X,<R0,R1,R2,R3,R4,R5>    ; -->  MOV R0,-(SP)

       MOV     X,-(SP)                  ;      MOV R1,-(SP)

       .ENDM                            ;      . . . . . .

                                        ;      MOV R5,-(SP)





            2.   .





          .IPR    X,<N,K,L,M>    ;  -->   MOV N,(R0)+

          MOV     X,(R0)+        ;        MOV K,(R0)+

          .ENDM                  ;        MOV L,(R0)+

                                 ;        MOV M,(R0)+







         3.       

                    12*12 .




          .RADIX  10

          .IRP    X,<1,2,3,4,5,6,7,8,9,10,11,12>

  S'X:    .WORD   ^O177073

          .ENDM

          .IRP    X,<1,2,3,4,5,6,7,8,9,10,11,12>

  SS'X:   .WORD   0

          .ENDM


                              - 89 -






  START:  .IRP    Y,<1,2,3,4,5,6,7,8,9,10,11,12>

          CLR     R2

           .IRP   X,<12,11,10,9,8,7,6,5,4,3,2,1>

           ROL    S'X

           ROR    R2

           .ENDM

          MOV     R2,SS'Y

          .ENDM

          .END    START




            ,  -

        (.7.2).


              -

        .






           4.  .





          .IRPC   X,012345    ; -->   MOV  R0,-(SP)

          MOV     R'X,-(SP)   ;       MOV  R1,-(SP)

          .ENDM               ;       . . . . . . .

                              ;       MOV  R5,-(SP)








                              - 90 -























                              - 91 -




            5.     

                      .



          .IRPC   X,<ABSDEFG>    ; -->   .GLOBL   MA

          .GLOBL  M'X            ;       .WORD    MA

          .WORD   M'X            ;       . . . . . .

          .ENDM                  ;       . . . . . .







       7.2.  .





              

     .      -

   (.7.3).


                 

  .    <= 0 ,    

   .



       7.3.  .MEXIT .





            ,  

    .    -

   .          

   .MEXIT .




            6.

                              - 92 -









          .MACRO  PROBA,A,B,C

          . . .     !
                    !-->     
          . . .     !

          .IF     EQ,A

          . . .     !
                    !-->    ,  A=0
          . . .     !

          .MEXIT

          .ENDC

          . . .     !
                    !-->    ,  A<>0
          . . .     !

          .ENDM




       7.4.  .





             -

   ,         -

    .           

  SYSMAC.SML.


        ,       -

  ,          

  .MCALL (.7.5).


        .MCALL .EXIT


         .EXIT     

  .  .EXIT    -


                              - 93 -




        (500-577 -

  )  ,     -

  .






        7.      

                   .




          .MCALL  .EXIT,.JSWDF

          .JSWDF                  ;   

                                  ;     



  START:



          MOV     #510,R0

          MOV     #CMDSTR,R1

  1$:     MOV     (R1)+,(R0)+

          CMP     R1,#CMDEND

          BLO     1$

          BIS     #CHNIF$,@#JSW   ;    

          CLR     R0

          .EXIT

  CMDSTR: .WORD   CMDEND-CMDSTR

          .ASCIZ  "DIR/EST/FULL DK:"  ;  .

  CMDEND:

          .EVEN

          .END    START


              -


                              - 94 -




  ,           

  .EXIT, ..         

  .



       7.5.    .ENTER .





        .ENTER      -

     .        

     .    

     .        

  ,   .


        :


          .ENTER  AREA,CHAN,DBLK,LEN,SECNUM


                .

    .


   AREA -      .   

           .         

            -.    

            ,        

          ,   8 .



   CHAN -   ( 0-377 ).         

                ,

                 

          -.



   DBLK -  ,        RAD50.

                              - 95 -




             4  .    -  .

              -  (6-). 

           -   .



    LEN - ' ,    

              .


        LEN=-1       

    .


        LEN=0  1/2      ,

        .


        LEM=M -    M - .


        .ENTER       C  

      52    .    52  

   0 -  ,   1 -     -

  ,     .



       7.6.  .CLOSE .





            .


        


          .CLOSE  CHAN



   CHAN -  .


           ,   -

   .ENTER.       


                              - 96 -




    ,    .






           8.    .








          .MCALL  .ENTER,.EXIT,.CLOSE

          ; . . . . . . . . . .



  START:

          ; . . . . . . .



          .ENTER  #ART,#1,#NAMEFO,#-1

          ; . . . . . . .



          .CLOSE  #1

          .EXIT

  ART:    .BLKW   10

  NAMEFO: .RAD50  /MX0/       ;   

          .RAD50  /SYSOUT/    ;   

          .RAD50  /PAS/       ;    

          ; . . . . . .

          .END START






                              - 97 -




       7.7.     .WRITE .





                  

    .


        


          .WRITE  AREA,CHAN,BUF,WCNT,BLK



          .ENTER.



   BUF - ,      ,

              .



   WCNT-   ,     .


              

  256 .        C  

     52   :


    0 -     ,

    1 -  ,

    3 -   .









       9.     .



         ,     R1.



                              - 98 -






          .RADIX  10

  WROS:   MOV     R2,-(SP)

          INC     POINT

          BR      WR

  WRDD:   MOV     R2,-(SP)

          CLR     RTCOD          ;  

          MOV     #BUFER,R2     ;   

          ADD     POINT,R2       ;    

          MOVB    @R1,@R2

          INC     POINT

          CMP     POINT,#512

          BNE     VEND

  WR:     MOV     POINT,NSLOV

          INC     BLIT           ;   

          ASR     NSLOV

          .WRITW  #ART,#1,#BUFER,NSLOV,BLIT

          BCC     WEND

          INC     RTCOD

          BR      VEND

  WEND:   CLR     POINT

  VEND:   MOV     (SP)+,R2

          RTS     PC



  NSLOV:  .WORD   0        ;    

  BLIT:   .WORD   -1       ;   

  BUFER:  .BLKW   256

  ART:    .BLKW   8

  POINT:  .WORD   0        ;  

  RTCOD:  .WORD   0        ;  

                              - 99 -







                              - 100 -









                           8.  8.









    :  .









       8.1.  .LOOKUP .





              

  .  


          .LOOKUP AREA,CHAN,DBLK,SEGNUM


              -

   .ENTER     ,        

   ,   .


          .LOOKUP   R0  

    .      C  

   52   :


   0 -  ,

   1 -      .


                              - 101 -




       8.2.  .READW .





                  

      .      

      .


        


          .READW  AREA,CHAN,BUF,WCNT,BLK


           ,      

  .WRITW.     R0  -

    ,   .


            C     

    52   :


   0 -      ,

   1 -  ,

   2 -   .





         1.      

                    SIMVOL .






          .MCALL  .READW,.LOOKUP,.CLOSE,.EXIT

          .RADIX  10



  ;  



                              - 102 -




  RD:     MOV     R0,-(SP)

          CLR     RTCOD         ;   =0

          CMP     #511,POINT

          BGE     YESZAP

          CLR     POINT

          INC     BLI

          .READW  #AR,#2,#BUFERI,#256,BLI

          BCC     YESZAP

          MOVB    ^O52,RTCOD

          INC     RTCOD         ;   

          BR      VEND

  YESZAP: MOV     #BUFERI,R0

          ADD     POINT,R0

          MOVB    @R0,SIMVOL

          INC     POINT

  VEND:   MOV     (SP)+,R0

          RTS     PC





  BLI:    .WORD   -1        ;  

  BUFERI: .BLKW   256       ; 

  SIMVOL: .BYTE   0         ;    

          .EVEN

  AR:     .BLKW   8

  POINT:  .WORD   512       ;  

  NAMEFI: .RAD50/DK SYSIN PAS/

          .EVEN

  RTCOD:  .WORD   0         ;   



  ;  

                              - 103 -






  START:  .LOOKUP #AR,#2,#NAMEFI     ;  

          JSR     PC,RD              ;  

          ; . . . . . .



          .EXIT

          .END    START







       8.3.  .PRINT .





              

  .  


          .PRINT  ADDR


        ADDR -      .    

     ,   ,  -

     200.


             ,      

     " "    "

  ", ..         

   .     200, 

   ""  ""  .







                              - 104 -




         2.     .




          .MCALL  .PRINT,.EXIT

          ; .  .  .  .



  STR:    .ASCIZ   / /

  START:

          ; .  .  .  .



          .PRINT  #STR

          ; .  .  .  .



          .EXIT

          .END    START







       8.4.  .TTYIN  .TTINR .





                 

      .  


          .TTYIN  ADR     !     .TTYIN

          .TTINR  ADR     !     .TTINR


             R0     

  ADR (   ).    ADR      

  .


         .TTYIN    -

                              - 105 -




     ,     .   -

   .TTINR ,       ,  -

     ,    C      52

      .


             .  

   ,  12      0.

    :


    1)      ;

    2)       

         CTRL/U  DEL ;

    3)         

          CTRL/Z , CTRL/C , " ",

       " ".      

         .  " " (  15 )

        " " (  12 )   

       .


          ( 12=1):


   1)             

       (  CTRL/C  CTRL/O );

   2)        

        ;

   3)       .





           3.    , 

                        .





                              - 106 -




          .MCALL  .TTYIN

          ; .  .  .  .



  FORSE:  .TTYIN

          CMPB    R0,#12

          BNE     FORSE

          RTS     PC







       8.5.  .TTYOUT  .TTOUTR.





               -

      .  :


          .TTUOUT ADR     !       .TTYOUT

          .TTOUTR ADR     !       .TTOUTR


        ADR -  ,   ,    

    R0    .  ADR   ,  

      R0.


        .TTYOUT    

          -

   ,    .   ,   -

   .   C   52     0.

        .







                              - 107 -




             4.  -  

                       .




          .MCALL  .EXIT,.TTINR,.TTOUTR

  BUFF:   .BLKW   100.       ;  

  ST:     MOV     #BUFF,R1

          CLR     R2         ;  

  INLOOP: .TTINR

          BCS     NOCHAR

  CHRIN:  MOVB    R0,(R1)+   ;    

          INC     R2

          CMP     R0,#12

          BNE     INLOOP

          MOV     #BUFF,R1

  OUTLOP: MOVB    (R1),R0    ;    R0

          .TTOUTR

          BCS     NOROOM

  CHROUT: DEC     R2

          BEQ     STEND

          INC     R1

          BR      OUTLOP

  NOCHAR: BR      INLOOP

  NOROOM: BR      OUTLOP

  STEND:  CMP     "EN,BUFF  ;    

          BNE     ST        ;     END .

          CMPB    'D,BUFF+2

          BNE     ST

          .EXIT

          .END    ST


                              - 108 -







         ,   .TTYIN 



       8.6.  .SAVESTATUS .





         5     

     .  :


          .SAVESTATUS     AREA,CHAN,ADDR


            .ENTER , -

     AREA   .


         ( ADDR )         

   ,      .


                  

    .   -

     ,        .LOOKUP  .

           -

    52 :


   0 -        .LOOKUP ,

   1 -      .ENTER .



       8.7.  .REOPEN .





            ,   -

      .SAVESTATUS .    -

  

                              - 109 -




          .REOPEN     AREA,CHAN,ADDR


              .

      ,   ,

      .LOOKUP   .SAVESTATUS

  .


         .REOPEN  .SAVESTATUS      

  ,        -

      .


            ,   52

       0 ,  ,   .



       8.8.  .CDFN .





                 

  /.  


          .CDFN    AREA,ADDR,NUM



   AREA -   3 ,

      ADDR -      -,

      NUM  -    -  .

             (     .)


           16-   

   0-15.       

     255.   .HRESET    

   .CDFN    16 .


            ,   -

                              - 110 -




  ,    0  52   -

    C.






          5.   .






          .MCALL  .CDFN,.PRINT,.HRESET,.EXIT

  START:  .CDFN   #AREA,#CHANL,#25.  ;  25 

          BCS     ERR

          .PRINT  #MSG

          .CDFN   #AREA,#CHANL,#30.  ;  30 

          BCS     ERR

          .PRINT  #MSG

          .CDFN   #AREA,#CHANL,#20.  ;  20 

          BCS     ERR1

  CONT:   .HRESET                    ;   16 

          .CDFN    #AREA,#CHANL,#20. ;  20 

          BCS     ERR

          .PRINT  #MSG

          .EXIT

  ERR:    .PRINT  #MSG1

          .EXIT

  ERR1:   .PRINT  #MSG1

          BR      CONT

  AREA:   .BLKW   3

  MSG:    .ASCIZ  / /

  MSG1:   .ASCIZ  / .CDFN/

          .EVEN

                              - 111 -




  CHANL:  .BLKW   30.*5         ;  


                              - 112 -




                           9.  9.









    :     .







       9.1.  .DATE .





         .DATE     

     R0.


   -   14 -10    -   (1-12.),

   -    9 - 5    -  (1-31.),

   -    4 - 0    -   (  

                           

                          72.).



     :    .DATE .


           R0=0,     ,

       .



       9.2.  .TWAIT .





             -

    .  

                              - 113 -




          .TWAIT      AREA,TIME



   AREA  -     ,

      TIME  -   ,  

                 (  

              50      50 ).



       9.3.  .GTIM .





             -

     .  


          .GTIM       .AREA,ADDR



   AREA  -     ,

      ADDR  -     ,  

                 (   

              ,  - ).



       9.4.  .





              , -

              

      .


              

    . ,    

      ,    

   .

                              - 114 -




          ,      

   :


       1.  ,    

     .       -

          

     .


       2.  ,      

     . ,   -

   -   .


       3. ,      

         -

  .


       4.  ,    -

        .


            

   ( ) .   -

                 P

  (7)     (177776).


             ,     

    ,      .  

     :


   1.    .

   2.     .

   3.     

        .

   4.    .


                              - 115 -




   5.      

      ().


        1 - 3 ,  ,  -

          .

            

   ,     -

     .     

       .



       9.5.   -2.





         -2      

  ,     .   -

       .     (  

  )        -

  ,    -   .


          ,  

       .  

  R6   ,         

    ,      -

  .  ,    ,  

   ,     -

          -

   ,        

  .       -

   .        -

      ,   

    -    .    

                              - 116 -




          

              

   .


            :   -

     .     

      ,   6      

          

   1.       ,    

     6       7

    .      

              

   .      

      .


                  -2.

  -------------------------------------------------------------
  !                     !           !            !            !
  !         !    !     !      !
  !                     !           !            !            !
  !                     !  !      !  !
  !---------------------!-----------!------------!------------!
  !                     !           !            !            !
  ! 1.        ! 177560    ! !-> 177562 !   60       !
  !                     !           !            !            !
  ! 2.           ! 177564    ! ->! 177566 !   64       !
  !                     !           !            !            !
  ! 3.            ! 177564    !       --   !  100       !
  !                     !           !            !            !
  ! 4.   ! 177550    ! !-> 177552 !   70       !
  !                     !           !            !            !
  ! 5.        ! 177554    ! ->! 177556 !   74       !
  !                     !           !            !            !
  ! 6.  ! 177514    ! ->! 177516 !  200       !
  !                     !           !            !            !
  ! 7.      !           !            !            !
  !                     !           !            !            !
  !      ! 177170    !     177172 !  264       !
  !                     !           !            !            !
  !               !           !            !            !
  !_____________________!___________!____________!____________!

      ->!   -     
      !->   -     


                              - 117 -




            1.   .




          .TITLE  TKOFF

          TKS=177560

  START:  BIS     #100,TKS

  1$:     BR      1$

          .END    START



            2.       .


          .MCALL  .EXIT

  START:  MOV     60,R0

          MOV     #SERV,60

  1$:     BR      1$

  SERV:   MOV     R0,60

          .EXIT

          .END    START



            3.     B .




          .TITLE  BPRINT

          .MCALL  .EXIT

          R1=%1

          TPS=177564

          TPB=177566



  START:  MOV     64,R1

          MOV     #SERV,64

          BIS     #100,TPS


                              - 118 -




          .EXIT

  SERV:   MOVB    #102,TPB

          BIS     #100,TPS

          MOV     R1,64

          RTI

          .END    START



            4.       




          .MCALL  .EXIT

          TKS=177560

          TKB=177562

  STROKA: .BLKB   70

  START:  MOV     60,R1

          MOV     #STROKA,R0

          MOV     62,R2

          MOV     #SERV,60

          MOV     #200,62

  LOOP:   CMPB    #12,@R0  ;    "" 

          BEQ     VEND     ;  .

          BR      LOOP

  SERV:   MOVB    TKB,(R0)+

          RTI

  VEND:   MOV     R1,60

          MOV     R2,62

          .EXIT

          .END    START




                              - 119 -




            5.   .



           JSR   PC,TIMER ,   R2 -

         .




  TIMER:  MOV     @#100,INTVEC

          MOV     @#102,INTVEC+2

          MOV     #TM,@#100

          MOV     #200,@#102

  CHIKL:  NOP                   ;    

          BR  CHIKL             ;   

  TM:     TST     R2            ; .

          BNE     TM1

          MOV     #TIMEND,(SP)

  TM1:    DEC     R2

          RTI

  TIMEND: MOV     INTVEC,@#100

          MOV     INTVEC+2,@#102

          RTS     PC

  INTVEC: .BLKW   2


                              - 120 -




                          10.  10.









   :     .

               .     

               .





       10.1.     .






  ---------------------------------------------------
  !                              !                  !
  !            !      !
  !                              !                  !
  !                    !        !
  !                              !                  !
  !------------------------------!------------------!
  !                              !                  !
  !        !         4        !
  !                              !                  !
  !               !        10        !
  !                              !                  !
  !         !                  !
  !                              !                  !
  !  T               !        14        !
  !                              !                  !
  !    IOT    !        20        !
  !                              !                  !
  !              !        24        !
  !                              !                  !
  !    EMT    !        30        !
  !                              !                  !
  !    TRAP   !        34        !
  !______________________________!__________________!

         T -  (4  )    

   . ,     -

   T=1,         -

   14. ..   T=1     

                              - 121 -




   .    .  

     


          TRAP    N

          EMT N

          IOT



    0 <= N <= 377   -    


              -

   


          PSW  --->  -(SP)

           PC  --->  -(SP)

            (1 )  ---> PC

            (2 )  ---> PSW


          EMT    -

      IOT   -,  

  TRAP   .


             RTI    RTT  .

     


          (SP)+  --> PC

          (SP)+  --> PSW


        RTI  RTT      

  T (4  PSW).   ,   RTT   -

      14,   RTI    -

  .



                              - 122 -




         1.    4- 

                  .



     ,      

        TRAP  N  ,  N-212  -  .




          .MCALL  .EXIT

  TBTRAP: .WORD   ERR1,ERR2,ERR3,ERR4

          KONSTR=TBTRAP-11424

  BTRAP:  MTPS    2(SP)         ;  PSW

          MOV     (SP),2(SP)    ;

          SUB     #2,(SP)

          MOV     @(SP)+,-(SP)

          ASL     (SP)

          ADD     #KONSTR,(SP)

          MOV     @(SP)+,-(SP)

          MOV     (SP)+,PC

  ERR1:   MOV     #1,ERR        ;   

          RTS     PC

  ERR2:   MOV     #2,ERR

          RTS     PC

  ERR3:   MOV     #3,ERR

          RTS     PC

  ERR4:   MOV     #4,ERR

          RTS     PC

  ERR:    .WORD   0             ;  



  START:  MOV     #BTRAP,@#34

          MOV     #200,@#36


                              - 123 -




          ; .  .  .  .



          .EXIT

          .END START





       10.2. .





              -

  .        

   .


                        -------------------
                        !                 !
       !       ! ' 
                        !                 !
  --------------------->!   !---------------->
                        !                 !
       !_________________!
                                 !
                                 !
                        -------------------
                        !                 !
                        !  !
                        !                 !
                        !   SYSMAC.SML    !
                        !_________________!


              

   .     '-

   .



       10.3.  ' .





       '      .    

    

                              - 124 -






              

         -------------------- -  -  -  -  -  -  --
         !                  !                   !
   !        1         ! <--    !
         !                  !                   !
    !----          ----!                   !
         !                  !                   !
         !        0         ! <--    !
         !                  !                   !
         !------------------!                   ! 
         !                  !                   !
         !---     ---!                   ! 
         !                  !                   !
         !------------------!                   !  
         !                  !                   !
         .                  .                   ! .
         .            .                   !
         .                  .                   !
         !------------------! -  -  -  -  -  -  --
         !                  !
         !   !
         !                  !
         !        !
         !__________________!




               

      .    

        .


         '        ,  

   .       .



                              - 125 -





                .

  --------------------------------------------------------------
  !          !           !                                     !
  !   !   !                              !
  !          !           !                                     !
  !     !           !                                     !
  !----------!-----------!-------------------------------------!
  !          !           !                                     !
  !    1     !    GSD    !    .   !
  !          !           !                                     !
  !    2     !  ENDGSD   !    GSD  .  !
  !          !           !                                     !
  !    3     !    TXT    !   .            !
  !          !           !                                     !
  !    4     !    RLD    !     !
  !          !           !                                     !
  !          !           ! .                           !
  !          !           !                                     !
  !    6     !  ENDMOD   !   ' .    !
  !__________!___________!_____________________________________!

         '        

   GSD.       GSD,   

      .   GSD   

     ENDGSD.


        TXT        

  RLD,       TXT.


        ENDMOD     ' .



       10.4.   GSD.





          ,      -

   



                              - 126 -




                   -----------------
                   !               !  !
                   !---------------!  !--->    RAD50
                   !               !  !       ( 2  ).
                   !---------------!
    --> !   !  !
                   !---------------!
                   !               !  !
                   !       !  !
                   !               !  !
                   !       !  !---> 1 .
                   !_______________!  !


     = 0    -   ' 

          1,2  -  

          3    -     

          4    -    

          5    -    



             ' .

         --------------
         !            !
         !   !  --   .TITLE
         !            !
         !------------!     (   .MAIN )
         !  0   !  0  !
         !------------!
         !      0     !
         !____________!



             .


                              - 127 -




        -------------------
        !                 !
        !   !
        !                 !
        !           !
        !-----------------!
        !   3    !   50   !
        !-----------------!
        !                 ! -->  , 
        !                 !
        !_________________!       .END 

                                  .

                                1 -   

                                  .END .


             .

        -------------------
        !                 !
        !   !
        !                 !
        !          !
        !-----------------!
        !        !        !
        !   4    !  !
        !        !        !
        !-----------------!
        !                 !
        !  ! -->  
        !                 !
        !      !      .
        !_________________!


      :

      3     0   -      

               1   - 


      5     0   - 

               1   - 


      6     0   - 

               1   -  ().


                 

  ,      :  3  0, 


                              - 128 -




  5  0,  6  1.



                    .

   -------------------
   !                 !
   !   !
   !                 !
   !           !
   !-----------------!
   !   5    !  !
   !-----------------!
   !                 !-> ,        
   !                 !
   !_________________!   ,   2, .. 

                              ,         

                             .

    :


       2     0 -    ( CON )

                1 -    ( OVR )


       3     0 -     ' 

                1 - '   


       5     0 -  ( ABS )

                1 -  ( RGL )


       6     0 -  ( LCL )

                1 -  ( GBL )


       7     0 -    ( I )

                1 -    ( D )

              

  .


                              - 129 -




       10.5.   ( TXT )   ( RLD ).





         TXT  RLD    42 .




                TXT.

                ---------------
                !      3      !
                !-------------!
                !             !  --  
                !-------------!
                !             !
                !     !
                !             !
                !         !
                .             .
                .    .
                !_____________!


              -

   '  .


        RLD    ,   -

    4 .



                   RLD.

             !15            8!  7  !6       0!
             !---------------!-----!---------!
             !               !     !         !
             ! O ! 0/1 !   K   !   !--> 1 
             !               !     !         !   !
             !       !     !  !   !
             !_______________!_____!_________!
             !                               !   !
             !          RAD50        !   !--> 2 
             !-------------------------------!
             !                               !
             !                      !
             !_______________________________!


               

  TXT     .   


                              - 130 -




  7 ,   ,  .


        --    ,     -

  .


              

  ,    .

   

