File: PA.TK of Tape: Sources/Multi8/multi8-1
(Source file text)
/PA.TK 13-MAY-80 / /THIS TASK INTERROGATES THE TELETYPE OPERATOR AND ASKS /HIM FOR A PASSWORD. IT COMPARES THE RESPONSE WITH SYSTEM PASSWORD /AND TELLS THE CALLER WETHER IT WAS RIGHT OR WRONG VIA THE LINK. /ON ENTRY THE AC SHOULD CONTAIN THE NAME OF THE TELETYPE /INPUT HANDLER. ON EXIT, THE AC IS STILL THE SAME. /THE USERS INPUT IS NOT ECHOED AND HE IS INFORMED WETHER HE /CAN HAVE ACCESS TO THE SYSTEM. PASSWRD="S^3+"E^3+"S^3+"A^3+"M *200 "P^100+"A&3777 /NAME IS PA 200 /ONE PAGE SHOULD BE OK PA4096, 0 PA, DCA PASAVE TAD PASAVE DCA PAIDEV /SET UP INPUT REQUEST TAD PASAVE TAD ("T-"K^100 DCA PAODEV /SET UP OUTPUT REQUEST JMS PAPRNT /GIVE INITIAL DIALOGUE IFNDEF GERMAN < 215;212;"M;"8;"-;"P;"a;"s;"s;"w;"o;"r;"d;":;240;4000 > IFDEF GERMAN < 215;212;"M;"8;"-;"K;"e;"n;"n;"w;"o;"r;"t;":;240;4000 > JMS PAREAD TAD PANUMB /GET INPUT WORD TAD (-PASSWRD SNA CLA JMP PAOK /PASSWORD IS OK JMS PAPRNT /PASSWORD IS WRONG IFNDEF GERMAN < "N;"O;240;"P;"e;"r;"m;"i;"s;"s;"i;"o;"n;215;4212;4000 > IFDEF GERMAN < "K;"E;"I;"N;240;"Z;"u;"g;"a;"n;"g;215;4212;4000 > PAERR, CLA STL /SET LINK MEANS NOT OK PAEXIT, TAD PASAVE /RETURN TELETYPE HANDLER'S NAME TO CALLER JMS MONITOR EXIT SWPOUT PAOK, JMS PAPRNT IFNDEF GERMAN < "C;"a;"r;"e;"f;"u;"l;"!;240;"(;"F;"o;"r;"e;"g;"r;"o;"u;"n;"d;") 215;4212;4000 > IFDEF GERMAN < "A;"c;"h;"t;"u;"n;"g;"!;240;"(;"F;"o;"r;"e;"g;"r;"o;"u;"n;"d;") 215;4212;4000 > CLA CLL /ZERO LINK MEANS OK JMP PAEXIT PAPRNT, 0 /CHARACTER STRING OUTPUT ROUTINE PAMOR, CDTOIF AC4000 /SET TELETYPE HOLD-BIT TAD I PAPRNT ISZ PAPRNT SNA /END OF STRING (4000) JMP I PAPRNT PATRY, ISZ PA4096 SKP /DON'T HANG TOO LONG JMP PAERR JMS MONITOR CALL PAODEV, 0 JMP PATRY JMP PAMOR PAREAD, 0 /ROUTINE THAT READS AND HASHES PASSWORD CLA CLL JMS MONITOR CALL PAIDEV, 0 /NAME OF INPUT HANDLER JMP .-3 /BUSY ? LOOP CDTOIF TAD M215 /END ? SNA JMP I PAREAD /YES, OUT TAD (215-240 /CONTROL CHAR ? SPA JMP PAREAD+1 /YES IGNORE TAD M100 /(240-340 SMA /LOWER CASE ? TAD (-40 /YES, CONVERT TAD (340 DCA ZTEM1 TAD PANUMB TAD PANUMB TAD PANUMB TAD ZTEM1 DCA PANUMB /UPDATE HASHED WORD WITH NEW CHAR JMP PAREAD+1 /NOT END, GET NEXT CHAR PASAVE, 0 /SAVED NAME OF INPUT HANDLER PANUMB, 0 /ACCUMULATED INPUT WORD $