;************************************************ ; CLOCK.M68 - A simple time/date display program ; ; by Dave Heyliger - AMUS Staff ; ; for AAA - February '87 ;************************************************ SEARCH SYS ;AMOS universal files SEARCH SYSSYM SEARCH TRM SEARCH AAA ;AAA universal file AUTOEXTERN ;external label $ODTIM PHDR -1,0,PH$REE!PH$REU ;re-entrant, re-usable ;create new MACRO's from old DEFINE CLEAR=PRTTAB -1,0 ;clear screen DEFINE CUROFF=PRTTAB -1,29. ;cursor off DEFINE CURON=PRTTAB -1,28. ;cursor on ;setup registers for call to $ODTIM CLR D3 ;use system date/time MOV #0,A2 ;zero out A2 (output to term) MOV #^H000002F6,D5 ;set the flag (just date) ;now clear the screen and display startup time CLEAR ;equivalent to PRTTAB -1,0 CUROFF ;cursor off PRTTAB 3,20. ;tab to row 3, column 1 TYPE <Today is > ;give the user the day CALL $ODTIM ;output system date and time ;output "Current time" header... PRTTAB 5,25. ;tab row 5, column 30. TYPE <Current time is: > ;our "clock" header ;set control C and setup registers for $ODTIM CTC ;"set" control C (safety) CLR D3 ;setup for $ODTIM MOV #^H00004801,D5 ;set flags for $ODTIM ;now at every .5 seconds, get updated time out on the screen LOOP: CTRLC BYEBYE ;quit on ^C PRTTAB 5,42. ;tab to end of <Current ti...> CALL $ODTIM ;output the time SLEEP #5000. ;sleep for .5 seconds BR LOOP ;come here on control c (quit) BYEBYE: CURON ;cursor back on CLEAR ;clear the screen EXIT ;return to the dot END