File RWTAPE.LS (listing file)

Directory of image this file is from
This file as a plain text file



ARGAD   0200
ARG1    0254
ARG2    0255
ARG3    0256
DCAI    3400OP
DOIT    0252
EROR    0262
GETARG  0202
GTCDF1  0203
GTCDF2  0212
HANDT   0201
HANDTD  0263
JMPI    5400OP
RTAPE   0301EXT 
TADI    1400OP
THEART  0215
WTAPE   0264EXT 
WTPRS   0267


                /RTAPE,WTAPE FOR THE TD8E DECTAPE CONTROLLER.
                /
                /CALLED BY: CALL WTAPE(IUNIT,IBLOCK,IWORDS,IBUF,IER)
                /
                /

      3400      OPDEF DCAI 3400
      1400      OPDEF TADI 1400
      5400      OPDEF JMPI 5400

                ENTRY RTAPE             /READ TAPE ENTRY
                ENTRY WTAPE             /WRITE TAPE ENTRY

                /PARAMETER UNPACKING ROUTINE....

0200  0000      ARGAD,  0
0201  0000      HANDT,  0

0202  0000      GETARG, 0               /GETS NEXT ARGUMENT IN FORTRAN
                                        /GENERATED PARAMETER STRING
0203  7402      GTCDF1, HLT             /REPLACED BY CDF
0204  1665              TADI  WTAPE#    /GET PARAM DATA FIELD
0205  3212              DCA   GTCDF2
0206  2265              INC   WTAPE#    /BUMP LIST ADDRESS
0207  1665              TADI  WTAPE#    /GET PARAMETER ADDRESS
0210  3200              DCA   ARGAD     /SAVE FOR INDIRECT (OR ARRAY)
0211  2265              INC   WTAPE#
0212  7402      GTCDF2, HLT             /REPLACED BY CDF
0213  1600              TADI   ARGAD    /PASS VALUE IN ACC
0214  5602              JMPI   GETARG   /EXIT QUIETLY....


                /GENERAL DECODING AND PROCESSING (COMMON) DONE HERE.


0215  0000      THEART, 0
0216  4202              JMS   GETARG    /GET THE UNIT NUMBER
0217  0377              AND   (1        /MUST BE 0 OR 1, SO....
0220  7110              CLL RAR         /FORCE TO ZERO OR ONE.
0221  1263              TAD   HANDTD    /COMPUTE THE ENTRY POINT TO
                                        /THE SYSTEM HANDLER ROUTINE.
0222  7430              SZL             /DTA0 OR DTA1....?
0223  1376              TAD   (5
0224  3201              DCA   HANDT
0225  4202              JMS   GETARG    /GET THE BLOCK NUMBER.
0226  7510              SPA             /IF NEGATIVE VALUED THEN SET
0227  2254              ISZ   ARG1      /FLAG IN THE FUNCTION WORD
0230  7510              SPA             /TO START THE SEARCH IN THE
0231  7041              CIA             /FORWARD DIRECTION.
0232  3256              DCA   ARG3      /BLOCK NUMBER = ARG3
0233  4202              JMS   GETARG    /GET THE NUMBER OF WORDS
0234  0375              AND   (3700     /CONVERT TO NUMBER OF BLOCKS
0235  7110              CLL RAR
0236  1254              TAD   ARG1      /MASK INTO THE FUNCTION WORD
0237  3254              DCA   ARG1
0240  4202              JMS   GETARG    /FINALLY GET THE BUFFER
0241  7200              CLA
0242  1212              TAD   GTCDF2    /MASK THE DATA FIELD INTO THE
0243  0374              AND   (0070     /FUNCTION WORD.
0244  1254              TAD   ARG1
0245  3254              DCA   ARG1
0246  1200              TAD   ARGAD     /AND SET UP THE BUFFER ADDRESS
0247  3255              DCA   ARG2
0250  3262              DCA   EROR


                /  NOW CALL THE SYSTEM HANDLER....


0251  6202              6202            /CHANGE TO FIELD 0
0252  6201 05   DOIT,   JMS I HANDT
0253  4601   
0254  0000      ARG1,   0               /FUNCTION WORD
0255  0000      ARG2,   0               /BUFFER ADDRESS

0256  0000      ARG3,   0               /BLOCK NUMBER
0257  3262              DCA   EROR      /ERROR EXIT
0260  6201 05           JMP I THEART    /SEEMS RATHER PAINLESS....
0261  5615   

0262  0000      EROR,   0
0263  7607      HANDTD, 7607



                / ENTRY POINT FOR WRITE FUNCTION (WTAPE)


0264  0000      WTAPE,  BLOCK 2
0265  0000   
0266  7130              CLL CML RAR     /SET WRITE FLAG
0267  3254      WTPRS,  DCA   ARG1      /INTO FUNCTION WORD
0270  1264              TAD   WTAPE     /SET UP DATA FIELD CHANGE
0271  3203              DCA   GTCDF1    /FOR GETTING PARAMETERS
0272  4215              JMS   THEART    /GO DO IT....
0273  4202              JMS   GETARG    /PASS BACK ERROR STSTUS
0274  7200              CLA
0275  1262              TAD   EROR
0276  3600              DCAI  ARGAD
0277  4040              RETRN WTAPE
0300  0002 06


                /  ENTRY POINT FOR READ FUNCTION (RTAPE)


0301  0000      RTAPE,  BLOCK 2
0302  0000   
0303  1301              TAD   RTAPE     /MOVE CALLING SEQ TO WTAPE
0304  3264              DCA   WTAPE
0305  1302              TAD   RTAPE#
0306  3265              DCA   WTAPE#    /ONLY DIFFERENCE IS THAT THE
0307  5267              JMP   WTPRS     /FUNCTION FLAG IS FOR READ.

0374  0070   
0375  3700   
0376  0005   
0377  0001   
                        END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search