/ DIGITAL EIN / AUSGABE ROUTINEN FUER DR8EA 17. APRIL 1974 / W.HOUBEN / / AUFRUF: / CALL IDIG ( ARG1,ARG2,ARG3 ) / CALL ODIG ( ARG1,ARG2,ARG3 ) / / ARG1 = DEVICECODE ( 0 - 7 ) / ARG2 = 0, WORTAUSGABE / ARG2 = 1 - 12, BITAUSGABE / ARG3 = DATENWORT / / ALLE ARGUMENTE SIND INTEGER / OPDEF JMPI 5400 OPDEF ]6500 6500 / DISABLE INTERRUPT OPDEF ]6501 6501 / ENABLE INTERRUPT SKPDF ]6502 6502 / SKIP ON FLAG OPDEF ]6503 6503 / CLEAR INPUT REGISTER OPDEF ]6504 6504 / READ INPUT REGISTER OPDEF ]6505 6505 / CLEAR OUTPUT REGISTER OPDEF ]6506 6506 / SET OUTPUT REGISTER OPDEF ]6507 6507 / READ OUTPUT REGISTER SKPDF JMSK 4000 ENTRY IDIG ENTRY ODIG DUMMY IARG1 DUMMY IARG2 DUMMY IARG3 IARG1, BLOCK 2 IARG2, BLOCK 2 IARG3, BLOCK 2 XPNT, IARG1 PNTR, 0 CNTR, 0 DV, 0 [1, 0 [2, 0 [3, 0 CDEV, 0 / CHANGE DEVICE CODE TAD DV CLL RAL RTL DCA DV TAD (-10 DCA [3 TAD TABP DCA [1 LOOP0, TAD I [1 DCA [2 TAD I [2 AND (7707 TAD DV DCA I [2 INC [1 ISZ [3 JMP LOOP0 JMP I CDEV TABP, TAB TAB, DBDI# DBEI# DBSK# DBCI# DBRI# DBCO# DBSO# DBRO# / / IOT UNTERPROGRAMME / DBDI, 0 / DISABLE INTERRUPT ]6500 JMPI DBDI DBEI, 0 / ENABLE INTERRUPT ]6501 JMPI DBEI DBSK, 0 / SKIP ON FLAG ]6502 SKP INC DBSK JMPI DBSK DBCI, 0 / CLEAR INPUT REGISTER ]6503 JMPI DBCI DBRI, 0 / READ INPUT REGISTER ]6504 JMPI DBRI DBCO, 0 / CLEAR OUTPUT REGISTER ]6505 JMPI DBCO DBSO, 0 / SET OUTPUT REGISTER ]6506 JMPI DBSO DBRO, 0 / READ OUTPUT REGISTER ]6507 JMPI DBRO ERR2, 5104; 1107 / IDIG ERROR IDIG, BLOCK 2 TAD XPNT DCA PNTR TAD (-6 DCA CNTR A1, TAD I IDIG INC IDIG# DCA I PNTR INC PNTR ISZ CNTR JMP A1 TAD I IARG1 / DEVICECODE HOLEN UND PRUEFEN TAD (-10 SMA JMP ERR1 TAD (10 DCA DV JMS CDEV / CHANGE DEVICE CODE TAD I IARG2 / FUNKTIONSCODE HOLEN UND PRUEFEN SZA JMP IDIG1 JMS DBRI JMS DBCI DCA I IARG3 RETRN IDIG IDIG1, DCA DV JMS DBRI JMS DBCI DCA [1 CALL 2,IGET ARG [1 ARG DV DCA I IARG3 RETRN IDIG ERR1, CALL 1,ERROR ARG ERR2 RETRN IDIG ERR4, 5704; 1107 / ODIG ERROR ODIG, BLOCK 2 TAD XPNT DCA PNTR TAD (-6 DCA CNTR A2, TAD I ODIG INC ODIG# DCA I PNTR INC PNTR ISZ CNTR JMP A2 TAD I IARG1 TAD (-10 SMA JMP ERR3 TAD (10 DCA DV JMS CDEV / CHANGE DEVICECODE TAD I IARG2 / FUNKTIONSCODE HOLEN SZA JMP ODIG2 CLA CMA JMS DBCO CLA TAD I IARG3 / WORT HOLEN JMS DBSO CMA JMS DBCO CLA RETRN ODIG ODIG2, DCA DV TAD I IARG3 SNA CLA JMP ODIG3 JMS DBRO DCA [1 CALL 2,SETB ARG [1 ARG DV ODIG4, CLA CMA JMS DBCO CLA TAD [1 JMS DBSO CMA JMS DBCO CLA RETRN ODIG ODIG3, JMS DBRO DCA [1 CALL 2,CLRB ARG [1 ARG DV JMP ODIG4 ERR3, CALL 1,ERROR ARG ERR4 RETRN ODIG END TXT10, TEXT $('INTERRUPT ! KEIN SKIP')$ \I, 0 \J, 0 DV, 0 [1, 0 [2, 0 [3, 0 END C DR8EA STATUS REPORT PROGRAMM 11.APRIL 1974 C W. HOUBEN C S SKPDF ]6500 6500 S SKPDF ]6501 6501 S SKPDF ]6502 6502 S SKPDF ]6503 6503 S SKPDF ]6504 6504 S SKPDF ]6505 6505 S SKPDF ]6506 6506 S SKPDF ]6507 6507 S SKPDF SRQ 6003 DIMENSION IS(12),ID(12),II(12) WRITE (1,100) 100 FORMAT ('DR8EA STATUS REPORT PROGRAMM') 110 READ (1,120) IDV 120 FORMAT ('DEVICECODE ( 0-7 ) ? ',I5) IF (IDV) 110,130,130 130 IF (IDV-7) 140,140,110 S\140, CLA CLL S TAD \IDV S CLL RAL S RTL S DCA \IDV S TAD (-10 S DCA Z3 S TAD TABP S DCA Z1 SLOOP0, TAD I Z1 S DCA Z2 S TAD I Z2 S AND (7707 S TAD \IDV S DCA I Z2 S INC Z1 S ISZ Z3 S JMP LOOP0 GOTO 150 SZ1, 0 SZ2, 0 SZ3, 0 STABP, TAB STAB, [6500# S [6501# S [6502# S [6503# S [6504# S [6505# S [6506# S [6507# C C IOT UNTERPROGRAMME C S[6500, 0 S ]6500 S JMP I [6500 S CLA S JMP \999 S[6501, 0 S ]6501 S JMP I [6501 S CLA IAC S JMP \999 S[6502, 0 S ]6502 S SKP S INC [6502 S JMP I [6502 S[6503, 0 S ]6503 S JMP I [6503 S CLA S TAD (3    OM 4 S JMP I [6504 S CLA