.TITLE TIMSET ;THIS PROGRAM JUST READS THE TIME FROM THE TCU100 CLOCK AND ;RE-FORMATS THE INFORMATION INTO AN ASCII STRING OF THE FORM: ; ; TIM DD-MMM-YY HH:MM:SS ; ;AND SPAWNS ...TIM ;DEFINE YEAR YEAR: .ASCII /85/ ; ; ;DEFINE TCU 100 REGISTERS TCUADR=160770 ;DEFINE FIRST ADDRESS TCUDAY=TCUADR TCUMON=TCUADR+1 TCUMIN=TCUADR+2 TCUHOU=TCUADR+3 TCUSEC=TCUADR+4 ; .MCALL EXIT$S,DIR$,SPWN$,GMCR$,WTSE$ ; ; START: DIR$ #GETMCR ;GET MCR COMMAND LINE MOV #TIMMES+4,R2 ;POINT TO BUFFER IN R2 MOVB TCUDAY,R1 ;GET DAY JSR PC,CVRT ;CONVERT TO ASCII & INSERT MOVB #'-,(R2)+ ;INSERT TERMINATOR MOVB TCUMON,R1 ;GET MONTH MUL #3,R1 ;MAKE IT A 3-BYTE OFFSET SUB #3,R1 ;AND ADJUST ADD #MONTAB,R1 ;ADD BASE OF TABLE MOVB (R1)+,(R2)+ MOVB (R1)+,(R2)+ MOVB (R1)+,(R2)+ ;FILL IN MONTH MOVB #'-,(R2)+ ;AND SEPERATOR MOVB YEAR,(R2)+ MOVB YEAR+1,(R2)+ ;AND YEAR MOVB #' ,(R2)+ ;AND SEPERATOR MOVB TCUHOU,R1 ;GET HOURS JSR PC,CVRT ;CONVERT TO ASCII & INSERT MOVB #':,(R2)+ MOVB TCUMIN,R1 ;NOW MINUTES JSR PC,CVRT MOVB #':,(R2)+ MOVB TCUSEC,R1 ;AND FINALLY SECONDS JSR PC,CVRT DIR$ #TIMDPB ;SPAWN ...TIM DIR$ #WAIDPB ;WAIT FOR ...TIM TO FINISH EXIT$S ;AND EXIT ; ;SUB TO CONVERT NUMBER (IN R1) TO 2 ASCII DIGITS AND INSTERT AT TEXT ;ENTER WITH R1 CONTAING NUMBER ;R2 POINTING TO PLACE TO INSERT 2-DIGIT ASCII NUMBER ; CVRT: CLR R0 ;TO BE SAFE DIV #10.,R0 ;SEPERATE THE TWO PARTS BIS #60,R0 ;CONVERT TO ASCII BIS #60,R1 MOVB R0,(R2)+ ;AND PUT IN ASCII MESSAGE MOVB R1,(R2)+ RTS PC ; ;TABLE OF ASCII MONTH NAMES MONTAB: .ASCII /JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC/ ; ;MESSAGE FOR TIM TIMMES: .ASCII /TIM DD-MMM-YY HH-MM-SS/ TIMLEN=.-TIMMES .EVEN ; ;DPB TO SPAWN TIM TIMDPB: SPWN$ ...TIM,,,,,1,,,TIMMES,TIMLEN ; ;GET MCR DPB GETMCR: GMCR$ ; ;WAIT FOR EVENT FLAG DPB WAIDPB: WTSE$ 1 .END START