home *** CD-ROM | disk | FTP | other *** search
/ ftp.update.uu.se / ftp.update.uu.se.2014.03.zip / ftp.update.uu.se / pub / pdp8 / os278-src.tar.Z / os278-src.tar / date.pa < prev    next >
Text File  |  1992-09-18  |  4KB  |  163 lines

  1. /DATE.SV  STORES CURRENT DATE IN SYSTEM AREA
  2.  
  3.     /***************************************************************
  4.     /
  5.     /            C O P Y R I G H T
  6.     /
  7.     /            Copyright (C) 1982
  8.     /                by
  9.     /       Digital Equipment Corporation, Maynard, Mass.
  10.     /
  11.     / This software is furnished under a license and may be used and
  12.     / copied  only  in accordance with the terms of such license and
  13.     / with the  inclusion  of  the  above  copyright  notice.   This
  14.     / software  or  any  other copies thereof may not be provided or
  15.     / otherwise made available to any other person.  No title to and
  16.     / ownership of the software is hereby transferred.
  17.     /
  18.     / The information in this software is subject to change  without
  19.     / notice  and should not be construed as a commitment by Digital
  20.     / Equipment Corporation.
  21.     /
  22.     / DIGITAL assumes no responsibility for the use  or  reliability
  23.     / of its software on equipment that is not supplied by DIGITAL.
  24.     /
  25.     /***************************************************************
  26.  
  27.  
  28. /ASSEMBLY INSTRUCTIONS
  29. /    PAL DATE/L
  30. /    SAVE SYS DATE;200=3501
  31.  
  32. / NOTES:
  33. /
  34. / When the DA command is executed the current date will be
  35. / typed out by CCL.  CCL will then chain to DATE.SV if found
  36. / on the system device.  DATE.SV will ask if you wish to store
  37. / the date displayed.  If a Y is typed the current date will be
  38. / stored in the system area.  This date will automaticly set when
  39. / the system is booted again.  If any other key is typed control will
  40. / return to the monitor.
  41. /
  42.  
  43.  
  44. /STORE VERSION IN LOC 0
  45.  
  46.     *0
  47.  
  48.     0262        /VERSION B2
  49.  
  50. /CODING AREA OF DATE.PA
  51.  
  52.     *0200
  53.  
  54. START,    CLL CLA
  55.     JMS    BATCHK    /CHECK IF BATCH IS ACTIVE
  56.     JMS    TYPE    /ASK USER TO STORE CURRENT DATE
  57.       ASK
  58.             /IF BATCH IS RUNNING THE FOLLOWING GETS CHANGED.
  59. PATCH,    KSF        /CIF BATCH FIELD
  60.     JMP .-1        /JMS I 5400 (GET A CHARACTER FROM BATCH)
  61.     KRB        /NOP
  62.     AND    (37    /MASK TO 5 BIT FOR UPPER OR LOWER CASE Y
  63.     TAD    (-31    /WAS RESPONSE A YES (Y)
  64.     SZA CLA
  65.     JMP    NOPE
  66.     JMS    TYPE
  67.       YES
  68.     JMS I    (7607    /CALL SYSTEM HANDLER
  69.       0200        /READ 1 BLOCK (2 PAGES) INTO FIELD 0
  70.       6000        /AT BUFFER AREA LOCATED AT 6000-6377
  71.       0066        /GET BLOCK 66 IN SYSTEM AREA
  72.     JMP    READER    /FATAL ERROR
  73.     CLL CLA
  74.     CDF 10        /GO AND GET DATE WORD
  75.     TAD I    (7666    /LOCATED AT 017666
  76.     CDF 0
  77.     DCA I    (6066    /STORE IN PROPER AREA OF BUFFER
  78.     JMS I    (7607    /WRITE BLOCK 66 BACK OUT
  79.       4200        /WRITE 1 BLOCK
  80.       6000        /LOCATED AT 6000
  81.       0066        /AT BLOCK 66 IN SYSTEM AREA
  82.     JMP    WRITER    /FATAL ERROR
  83.     JMS    TYPE
  84.       STORE
  85.     JMP I    (7605
  86.  
  87. NOPE,    JMS    TYPE
  88.       NO
  89.     JMP I    (7605
  90.  
  91. READER,    JMS    TYPE
  92.       READTX    /INFORM USER ERROR DURING READ
  93.     JMS    TYPE
  94.       CHECK
  95.     JMP I    (7605
  96.  
  97. WRITER,    JMS    TYPE    /INFORM USER ERROR DURING WRITE
  98.       WRITTX
  99.     JMS    TYPE
  100.       CHECK
  101.     HLT        /FATAL ERROR SHOULD NOT PROCEED!!!!!
  102.  
  103. TYPE,    0
  104.     CLL CLA    
  105.     TAD I    TYPE
  106.     DCA    TYPE2
  107.     ISZ    TYPE
  108. TYPE1,    TAD I    TYPE2
  109.     SNA
  110.     JMP I    TYPE
  111. PATCH2,    TLS        /IF BAT IS RUNNING GETS CIF BATFLD
  112.     TSF        /JMS I BATOUT
  113.     JMP .-1        /NOP
  114.     ISZ    TYPE2
  115.     CLL CLA
  116.     JMP    TYPE1
  117. TYPE2,    0
  118.  
  119. BATCHK,    0        /CHECK IF BATCH IS RUNNING
  120.     CLL CLA
  121.     TAD I    (7777    /GET BATCH WORD
  122.     RTL
  123.     SNL CLA        /IS BIT 2 SET (BATCH ACTIVE FLAG)
  124.     JMP I    BATCHK    /NO RETURN
  125.     TAD I    (7777    /GET BATCH WORD AGAIN
  126.     AND    (70    /MASK OUT BATCH FIELD
  127.     TAD    (CIF    /BUILD A CIF TO BATCH
  128.     DCA    PATCH    /STORE IN TTY INPUT ROUTINE
  129.     TAD    (JMS I    BATIN /STORE A CALL TO BATCH
  130.     DCA    PATCH+1
  131.     TAD    (7000    /NOP K.B READ
  132.     DCA    PATCH+2
  133.     TAD    PATCH    /NOW FIX OUTPUT ROUTINE
  134.     DCA    PATCH2
  135.     TAD    (JMS I BATOUT
  136.     DCA    PATCH2+1
  137.     TAD    (7000
  138.     DCA    PATCH2+2
  139.     JMP I    BATCHK    /RETURN
  140.     
  141. BATIN,    5400
  142. BATOUT,    7400
  143.  
  144.     PAGE    
  145.  
  146. NO,    "N;"O;15;12;0
  147.  
  148. YES,    "Y;"E;"S;15;12;0
  149.  
  150. ASK,    "S;"t;"o;"r;"e;" ;"c;"u;"r;"r;"e;"n;"t;" ;"d;"a;"t;"e;"?;" ;0
  151.  
  152. STORE,    "D;"a;"t;"e;" ;"s;"t;"o;"r;"e;"d;".;15;12;0
  153.  
  154. READTX,    "E;"R;"R;"O;"R;" ;"r;"e;"a;"d;"i;"n;"g;" ;"s;"y;"s;"t;"e;"m;
  155.     " ;"h;"e;"a;"d;"!;15;12;0
  156.  
  157. WRITTX,    "E;"R;"R;"O;"R;" ;"w;"r;"i;"t;"i;"n;"g;" ;"s;"y;"s;"t;"e;"m;
  158.     " ;"h;"e;"a;"d;"!;15;12;0
  159.     
  160. CHECK,    "C;"h;"e;"c;"k;" ;"s;"y;"s;"t;"e;"m;" ;"f;"o;"r;" ;"b;"a;"d;
  161.     " ;"b;"l;"o;"c;"k;"s;".;15;12;12;0
  162.  
  163.