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 >
Wrap
Text File
|
1992-09-18
|
4KB
|
163 lines
/DATE.SV STORES CURRENT DATE IN SYSTEM AREA
/***************************************************************
/
/ C O P Y R I G H T
/
/ Copyright (C) 1982
/ by
/ Digital Equipment Corporation, Maynard, Mass.
/
/ This software is furnished under a license and may be used and
/ copied only in accordance with the terms of such license and
/ with the inclusion of the above copyright notice. This
/ software or any other copies thereof may not be provided or
/ otherwise made available to any other person. No title to and
/ ownership of the software is hereby transferred.
/
/ The information in this software is subject to change without
/ notice and should not be construed as a commitment by Digital
/ Equipment Corporation.
/
/ DIGITAL assumes no responsibility for the use or reliability
/ of its software on equipment that is not supplied by DIGITAL.
/
/***************************************************************
/ASSEMBLY INSTRUCTIONS
/ PAL DATE/L
/ SAVE SYS DATE;200=3501
/ NOTES:
/
/ When the DA command is executed the current date will be
/ typed out by CCL. CCL will then chain to DATE.SV if found
/ on the system device. DATE.SV will ask if you wish to store
/ the date displayed. If a Y is typed the current date will be
/ stored in the system area. This date will automaticly set when
/ the system is booted again. If any other key is typed control will
/ return to the monitor.
/
/STORE VERSION IN LOC 0
*0
0262 /VERSION B2
/CODING AREA OF DATE.PA
*0200
START, CLL CLA
JMS BATCHK /CHECK IF BATCH IS ACTIVE
JMS TYPE /ASK USER TO STORE CURRENT DATE
ASK
/IF BATCH IS RUNNING THE FOLLOWING GETS CHANGED.
PATCH, KSF /CIF BATCH FIELD
JMP .-1 /JMS I 5400 (GET A CHARACTER FROM BATCH)
KRB /NOP
AND (37 /MASK TO 5 BIT FOR UPPER OR LOWER CASE Y
TAD (-31 /WAS RESPONSE A YES (Y)
SZA CLA
JMP NOPE
JMS TYPE
YES
JMS I (7607 /CALL SYSTEM HANDLER
0200 /READ 1 BLOCK (2 PAGES) INTO FIELD 0
6000 /AT BUFFER AREA LOCATED AT 6000-6377
0066 /GET BLOCK 66 IN SYSTEM AREA
JMP READER /FATAL ERROR
CLL CLA
CDF 10 /GO AND GET DATE WORD
TAD I (7666 /LOCATED AT 017666
CDF 0
DCA I (6066 /STORE IN PROPER AREA OF BUFFER
JMS I (7607 /WRITE BLOCK 66 BACK OUT
4200 /WRITE 1 BLOCK
6000 /LOCATED AT 6000
0066 /AT BLOCK 66 IN SYSTEM AREA
JMP WRITER /FATAL ERROR
JMS TYPE
STORE
JMP I (7605
NOPE, JMS TYPE
NO
JMP I (7605
READER, JMS TYPE
READTX /INFORM USER ERROR DURING READ
JMS TYPE
CHECK
JMP I (7605
WRITER, JMS TYPE /INFORM USER ERROR DURING WRITE
WRITTX
JMS TYPE
CHECK
HLT /FATAL ERROR SHOULD NOT PROCEED!!!!!
TYPE, 0
CLL CLA
TAD I TYPE
DCA TYPE2
ISZ TYPE
TYPE1, TAD I TYPE2
SNA
JMP I TYPE
PATCH2, TLS /IF BAT IS RUNNING GETS CIF BATFLD
TSF /JMS I BATOUT
JMP .-1 /NOP
ISZ TYPE2
CLL CLA
JMP TYPE1
TYPE2, 0
BATCHK, 0 /CHECK IF BATCH IS RUNNING
CLL CLA
TAD I (7777 /GET BATCH WORD
RTL
SNL CLA /IS BIT 2 SET (BATCH ACTIVE FLAG)
JMP I BATCHK /NO RETURN
TAD I (7777 /GET BATCH WORD AGAIN
AND (70 /MASK OUT BATCH FIELD
TAD (CIF /BUILD A CIF TO BATCH
DCA PATCH /STORE IN TTY INPUT ROUTINE
TAD (JMS I BATIN /STORE A CALL TO BATCH
DCA PATCH+1
TAD (7000 /NOP K.B READ
DCA PATCH+2
TAD PATCH /NOW FIX OUTPUT ROUTINE
DCA PATCH2
TAD (JMS I BATOUT
DCA PATCH2+1
TAD (7000
DCA PATCH2+2
JMP I BATCHK /RETURN
BATIN, 5400
BATOUT, 7400
PAGE
NO, "N;"O;15;12;0
YES, "Y;"E;"S;15;12;0
ASK, "S;"t;"o;"r;"e;" ;"c;"u;"r;"r;"e;"n;"t;" ;"d;"a;"t;"e;"?;" ;0
STORE, "D;"a;"t;"e;" ;"s;"t;"o;"r;"e;"d;".;15;12;0
READTX, "E;"R;"R;"O;"R;" ;"r;"e;"a;"d;"i;"n;"g;" ;"s;"y;"s;"t;"e;"m;
" ;"h;"e;"a;"d;"!;15;12;0
WRITTX, "E;"R;"R;"O;"R;" ;"w;"r;"i;"t;"i;"n;"g;" ;"s;"y;"s;"t;"e;"m;
" ;"h;"e;"a;"d;"!;15;12;0
CHECK, "C;"h;"e;"c;"k;" ;"s;"y;"s;"t;"e;"m;" ;"f;"o;"r;" ;"b;"a;"d;
" ;"b;"l;"o;"c;"k;"s;".;15;12;12;0