! PARITY REGISTER CHECKER & SWITCH REG COUNTER ! ! DATE: 24.MAY.82 %CONTROL K'100001' %SYSTEMROUTINESPEC MAPHWR(%INTEGER SEG) %SYSTEMROUTINESPEC ALARM(%INTEGER TICKS) %BEGIN %CONSTINTEGERNAME PAR = K'012100'; ! IN SEG 0 %CONSTINTEGERNAME SWR = K'017570' %RECORDFORMAT PF(%BYTEINTEGER SER, REPLY, A1, A2, B1, B2, C1, C2) %RECORD (PF) P %INTEGER I,J,K,T %ROUTINE OCTAL(%INTEGER N) %INTEGER I PRINTSYMBOL((N>>I)&7+'0') %FOR I = 15, -3, 0 %END MAPHWR(0) PAR = 1; !ENABLE THE REGISTER %CYCLE ALARM(25); ! 1/2 SECOND P_SER = 0; POFF(P); ! WAIT FOR IT T = T+1 SWR = T; ! COUNT IN SWR %IF PAR<0 %START %CYCLE I = 1, 1, 5 PRINTSYMBOL('*') %FOR J = 1, 1, 20 PRINTSTRING(" PARITY ERROR AT ") K = PAR&K'7740'; OCTAL(K) PRINTSTRING("xx ") PRINTSYMBOL('*') %FOR J = 1, 1, 20 NEWLINE %REPEAT PAR = 1 %FINISH %REPEAT %ENDOFPROGRAM