TITLE CLOCK LEX Ver<870123> John R Baker RDSYMB CLOCKEQU:TAPE NIBASC \CLOCKLEX\ NIBHEX 802E LEX CON(2) 0 flags=0 NIBHEX 0000 Mn/Hr NIBHEX 321078 Dy/Mo/Yr REL(5) FILEND * CON(2) #5E last scratch CON(2) #0B low token CON(2) #0B high token CON(5) 0 no links NIBHEX F no speed table CON(4) (TxTbSt)+1-(*) CON(4) 0 no message table CON(5) 0 no poll handler * *********************************************************** * * this is the equate table * CLOCKEQU:TAPE is read for symbols * *********************************************************** * CON(3) (TxEn01)-(TxTbSt) REL(5) CLOKST NIBHEX 1 * TxTbSt TxEn01 CON(1) (TxEnTm)-(*)-4 NIBASC \CLOCK\ CON(2) #0B * TxEnTm NIBHEX 1FF * *********************************************************** * pCLOCK RTNCC * REL(5) pCLOCK CLOKST GOSBVL YMDHMS get current time P= 5 copy only HHMMSS not date A=C WP HHMMSS to A 5:0 P= 15 for following LC LCHEX 5 #-1 of hex digits to convert P= 0 for HEXASC GOSBVL HEXASC convert hex to ASCII LC(2) COLON ASCII of COLON, ':' D1=(5) FUNCR0 point to function scratch DAT1=A 4 write seconds to scratch D1=D1+ 4 step over seconds GOSBVL ASRW4 shift to line up for minutes DAT1=C B write colon D1=D1+ 2 step over colon DAT1=A 4 write minutes D1=D1+ 4 step over minutes GOSBVL ASRW4 line up for hours DAT1=C B write colon D1=D1+ 2 step over colon DAT1=A 4 write hours C=0 W clean start P= 14 for LC LCHEX 7 #-1 of ASCII chars to write P= 0 for LC D=C W #-1 of chars in D 15:14 LC(5) FUNCR0 location of buffer in C(A) GOSBVL BLDBIT build display from buffer GOSBVL CK"ON" has 'ON' key been pressed ? GOC CLOKST no, then keep running GOVLNG MAINLP yes, then exit to main loop * *********************************************************** * FILEND END