File: REALTM.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text)
RALF V50A 8-APR-92 PAGE 1 / A-D CLOCKED, BUFFERED SAMPLING ROUTINE / / / VERSION 50A 29-MAY-80 WVDM / / ADSK=6534 ADRB=6533 ADST=6532 ADLM=6531 ADLE=6536 ADCL=6530 CLZE=6130 ESF=4 LINC=6141 PDP=2 SAM=100 CLEN=6134 FIELD1 SAMPLE 00000 0000 0 /INTERRUPT TIME AD SAMPLER IFNSW 8 < 00001 4261 JMS LNCSAM /INITIATE SAMPLE 00002 2263 NEXTCH, ISZ SAMINS /UPDATE SAM INST FOR NEXT CHAN 00003 4261 JMS LNCSAM /SAM AND INITIATE NEXT CHANNEL > 00004 1342 TAD SAMPTR /SAVE THE OLD SAM BUFFER POINTER 00005 3351 DCA OLDPTR 00006 1225 TAD BUFFLD /AND THE FIELD 00007 3240 DCA OLDFLD 00010 2342 ISZ SAMPTR /BUMP BUFFER POINTER 00011 5215 JMP FLDOK /FIELD IS OK 00012 1225 TAD BUFFLD /BUMP FIELD 00013 1341 TAD L10 00014 3225 DCA BUFFLD 00015 2350 FLDOK, ISZ SAMCNT /BUMP BUFFER COUNT 00016 5225 JMP BUFFLD /NOT END OF BUFFER 00017 1344 TAD ARRAY+2 /RESET POINTER TO START OF BUFFER 00020 3342 DCA SAMPTR 00021 1361 TAD FLDBUF /RESET BUFFER FIELD 00022 3225 DCA BUFFLD 00023 1347 TAD BUFSIZ /RESET COUNT 00024 3350 DCA SAMCNT 00025 7402 BUFFLD, HLT /GET FIELD OF NEW ADB STOP CODE 00026 1742 TAD% SAMPTR /IS THIS THE SAM STOP CODE ? 00027 1340 TAD M3776 /(ILLEGAL AS A SAMPLE) 00030 7640 SZA CLA 00031 5236 JMP NOERR 00032 2366 ISZ TOOFAS /SET TOO FAST SWITCH 00033 6211 SAMPLD, CDF 10 00034 3762 DCA% XCLINT+1 /STOP SAMPLING 00035 5600 JMP% SAMPLE / 00036 7150 NOERR, CLL CMA RAR /SET ADB STOP CODE 00037 3742 DCA% SAMPTR 00040 7402 OLDFLD, HLT /GET TO FIELD OF SAMPLE IFSW 8 < RALF V50A 8-APR-92 PAGE 1-1 ADRB /READ SAMPLE > IFNSW 8 < 00041 1353 TAD SAMTMP /GET PREVIOUSLY READ SAMPLE > 00042 3751 DCA% OLDPTR /INTO BUFFER 00043 2360 ISZ NPOINT+2 /ANY MORE SAMPLES 00044 7410 SKP /YES 00045 2357 ISZ NPOINT+1 /MORE THAN 7777 ? 00046 7410 SKP /YES 00047 5233 JMP SAMPLD /NO 00050 2354 ISZ NCHANL+1 /ANY MORE CHANNELS TO SAMPLE ? 00051 5202 JMP NEXTCH /YES GO START SAMPLING 00052 1352 TAD CSTART+2 /STARTING CHANNEL IFSW 8 < ADLM > IFNSW 8 < 00053 3263 DCA SAMINS 00054 4261 JMS LNCSAM /SET CHANNEL TO START /IN CASE CLOCK INITIATED > 00055 1355 TAD NCHANL+2 /NUMBER OF CHANNELS 00056 3354 DCA NCHANL+1 /INTO COUNTER 00057 6211 CDF 10 00060 5600 JMP% SAMPLE / IFSW 8 < NEXTCH, ADST /SAMPLE NEXT CHANNEL ADSK /WAIT FOR SAMPLE JMP .-1 JMP SAMPLE+1 > / IFNSW 8 < 00061 0000 LNCSAM, 0 /LINC SAM SUBROUTINE 00062 6141 LINC 00063 0100 SAMINS, SAM 0 /SAMPLE AND SELECT NEXT CHANNEL 00064 0002 PDP 00065 3353 DCA SAMTMP /SAVE IT 00066 5661 JMP% LNCSAM > / 00067 0000 ADSETU, 0 /SET UP ROUTINE 00070 3366 DCA TOOFAS /CLEAR TOO FAST SWITCH 00071 1343 TAD ARRAY+1 /GET FIELD OF BUFFER 00072 0376 AND L7 00073 7106 CLL RTL 00074 7004 RAL 00075 1375 TAD CDF0 00076 3361 DCA FLDBUF 00077 1361 TAD FLDBUF 00100 3225 DCA BUFFLD /SAVE IN SAMPLER CODE 00101 1344 TAD ARRAY+2 /SET SAMPLER BUFFER POINTER 00102 7001 IAC 00103 3342 DCA SAMPTR RALF V50A 8-APR-92 PAGE 1-2 00104 1347 TAD LENGTH+2 /SIZE OF BUFFER 00105 7104 CLL RAL 00106 1347 TAD LENGTH+2 /TIMES THREE 00107 3347 DCA BUFSIZ /SAVE IT 00110 1347 TAD BUFSIZ /SET INITIAL COUNT 00111 7001 IAC 00112 3350 DCA SAMCNT 00113 1355 TAD NCHANL+2 /SET CHANNEL COUNT 00114 3354 DCA NCHANL+1 IFSW 8 < CLA CMA /STOP THE CLOCK CLZE CLA ADCL /CLEAR AD LOGIC JUST IN CASE TAD L300 /SET AD ENABLE BITS ADLE TAD CSTART+2 /STARTING CHANNEL NUMBER ADLM > IFNSW 8 < 00115 6134 CLEN /STOP THE CLOCK 00116 1352 TAD CSTART+2 /SET UP INITIAL SAM INSTRUCTION 00117 1363 TAD L100 00120 3352 DCA CSTART+2 00121 1352 TAD CSTART+2 00122 3331 DCA SAMST /STARTING SAM 00123 1331 TAD SAMST /ALSO INTERRUPT TIME SAM 00124 3263 DCA SAMINS 00125 1363 TAD L100 /SET FAST SAM BIT 00126 6002 IOF /TURN OFF INTERRUPTS IN LINC MODE 00127 6141 LINC /ENTER LINC MODE 00130 0004 ESF 00131 0100 SAMST, SAM 0 /SET INITIAL SAM CHANNEL 00132 0002 PDP 00133 6001 ION 00134 7200 CLA > 00135 6203 CIF CDF 00136 5667 JMP% ADSETU / 00137 0040 BASEX, FNOP 00140 4002 M3776, -3776 00141 0010 L10, 10 SAMPTR, 00142 0000 ARRAY, 0;0;0 00143 0000 00144 0000 00145 0000 LENGTH, 0;0 00146 0000 00147 0000 BUFSIZ, 0 SAMCNT, 00150 0000 CSTART, 0 00151 0000 OLDPTR, 0;0 00152 0000 SAMTMP, 00153 0000 NCHANL, 0;0;0 RALF V50A 8-APR-92 PAGE 1-3 00154 0000 00155 0000 00156 0000 NPOINT, 0;0;0 00157 0000 00160 0000 FLDBUF, 00161 0000 XCLINT, ADDR #CLINT 00162 0000 IFSW 8 < L300, 300 > IFNSW 8 < 00163 0100 L100, 100 > 00164 0000 SAMXR, 0;0 00165 0000 00166 0000 TOOFAS, 0 / ORG 10*3+BASEX 00167 0000 0 00170 1030 JA NAME+3 00171 0113 00172 0000 0 00173 1030 SAMRTN, JA . 00174 0173 / 00175 6201 CDF0, CDF 00176 0007 L7, 7 RALF V50A 8-APR-92 PAGE 2 SECT REALTM BASE 0 00000 0006 STARTD 00001 0210 FLDA 30 /GET RETURN ADDR 00002 6400 FSTA SAMRTN 00003 0173 00004 0200 FLDA 0 /GET ARG POINTER BASE BASEX 00005 1110 SETB BASEX 00006 0137 00007 1100 SETX SAMXR 00010 0164 00011 6205 FSTA NPOINT /SAVE ARG POINTER 00012 0002 FCLA EXTERN #CLINT 00013 6400 FSTA #CLINT /STOP ANY SAMPLING NOW! 00014 0000 00015 0101 LDX 1,1 00016 0001 00017 0615 FLDA% NPOINT,1 /GET BUFFER ADDRESS 00020 6201 FSTA ARRAY 00021 0715 FLDA% NPOINT,1+ /GET ADDR OF LENGTH 00022 6202 FSTA LENGTH 00023 0715 FLDA% NPOINT,1+ /ADDR OFHANNEL START 00024 6203 FSTA CSTART 00025 0715 FLDA% NPOINT,1+ /ADDR OF # CHANNELS 00026 6204 FSTA NCHANL 00027 0715 FLDA% NPOINT,1+ /ADDR OF NUMBER OF POINTS 00030 6205 FSTA NPOINT 00031 0201 FLDA ARRAY /CREATE SETX INS 00032 1400 FADD STXMJA 00033 0120 00034 6400 FSTA BUFSTX 00035 0235 00036 6400 FSTA ADBSTX /AND SAVE IT IN TWO PLACES 00037 0163 00040 0005 STARTF 00041 0602 FLDA% LENGTH /INTEGERIZE AND NEGATE SOME ARGS 00042 0003 FNEG 00043 0010 ALN 0 00044 6202 FSTA LENGTH 00045 0004 FNORM 00046 0021 ATX 1 /SET BUFFER COUNT 00047 0603 FLDA% CSTART /GET STARTING CHANNEL 00050 0010 ALN 0 00051 6203 FSTA CSTART 00052 0604 FLDA% NCHANL 00053 0003 FNEG 00054 0010 ALN 0 00055 6204 FSTA NCHANL 00056 0605 FLDA% NPOINT 00057 0003 FNEG 00060 0010 ALN 0 00061 6205 FSTA NPOINT 00062 0102 LDX -1,2 /SET UP FOR BUFFER CLEAR RALF V50A 8-APR-92 PAGE 2-1 00063 7777 00064 0002 FCLA 00065 6721 CLRBUF, FSTA% ARRAY,2+ 00066 2110 JXN CLRBUF,1+ 00067 0065 00070 4000 TRAP4 ADSETU /SET UP AD STUFF 00071 0067 00072 0202 FLDA LENGTH /RE-GET BUFFER SIZE 00073 0004 FNORM 00074 0021 ATX 1 /BUT NOW ITS TIMES THREE 00075 0400 FLDA STPCOD /STORE STOP CODES 00076 0115 00077 6601 FSTA% ARRAY /INTO FIRST 3 WORD 00100 0006 STARTD 00101 0400 FLDA SAMADR /SET UP SAMPLER INTERRUPT HANDLER 00102 0113 00103 6400 FSTA #CLINT 00104 0000 00105 0005 STARTF 00106 1030 JA SAMRTN /RETURN 00107 0173 / 00110 2224 NAME, TEXT +RTMADB+ 00111 1501 00112 0402 00113 0000 SAMADR, ADDR SAMPLE 00114 0000 00115 3776 STPCOD, 3776;3777;0 00116 3777 00117 0000 00120 0050 STXMJA, 1100-1030;0 00121 0000 00122 0013 L2047, F 2047. 00123 3777 00124 0000 00125 0011 L511, F 511. 00126 3774 00127 0000 RALF V50A 8-APR-92 PAGE 3 ENTRY ADB ADB, BASE 0 /FETCH SAMPLE FROM BUFFER 00130 0006 STARTD 00131 0210 FLDA 30 /SAVE REUTRN 00132 6400 FSTA SAMRTN 00133 0173 00134 1110 SETB BASEX 00135 0137 00136 1100 SETX SAMXR 00137 0164 BASE BASEX 00140 2020 JXN SPEEDK,2 /CLOCK TOO FAST 00141 0203 00142 0400 FLDA ADBSTX /SAVE OLD SETX 00143 0163 00144 6400 FSTA OLDSTX 00145 0175 00146 1400 FADD L1 /ADD ONE TO IT 00147 0237 00150 6400 FSTA ADBSTX /AND SAVE IT BACK 00151 0163 00152 2110 JXN NORINQ,1+ /END OF BUFFER ? 00153 0162 00154 0400 FLDA BUFSTX /YES, RESTART 00155 0235 00156 6400 FSTA ADBSTX 00157 0163 00160 0202 FLDA LENGTH /RESET COUNT 00161 0021 ATX 1 00162 0005 NORINQ, STARTF 00163 1100' ADBSTX, SETX 0 /SET XR0 TO NEXT SAMPLE 00164 0000 00165 0030 WAIT, XTA 0 /GET THE NEXT SAMPLE 00166 2400 FSUB L2047 /IS IT THE STOP CODE 00167 0122 00170 1000 JEQ WAIT /YES 00171 0165 00172 0030 XTA 0 /NO, FETCH THE SAMPLE 00173 0100 LDX 3776,0 /SET SAMPLE STOP CODE 00174 3776 00175 1100' OLDSTX, SETX 0 /SET XR0 TO PREVIOUS STOP CODE 00176 0000 00177 0100 LDX 0,0 /NOW ZERO IT 00200 0000 00201 1030 JA SAMRTN /RETURN 00202 0173 / SPEEDK, EXTERN #WRITO /USE FORTRAN I/O 00203 3000 TRAP3 #WRITO /TO WRITE A MESSAGE 00204 0000 00205 1030 JA TTYUNT /ON THE TTY 00206 0217 00207 1030 JA MESSAG 00210 0222 EXTERN #RENDO RALF V50A 8-APR-92 PAGE 3-1 00211 3000 TRAP3 #RENDO /CLOSE THE RECORD 00212 0000 00213 0102 LDX 0,2 /KILL TOO FAST SWITCH 00214 0000 00215 1030 JA SAMRTN /RETURN FROM ADB 00216 0173 / 00217 0000 TTYUNT, F 0. 00220 0000 00221 0000 00222 5042 MESSAG, TEXT '(" SAMPLING TOO FAST")' 00223 4023 00224 0115 00225 2014 00226 1116 00227 0740 00230 2417 00231 1740 00232 0601 00233 2324 00234 4251 00235 1100' BUFSTX, SETX 0 00236 0000 00237 0000 L1, 0;1 00240 0001 RALF V50A 8-APR-92 PAGE 3-2 NO ERRORS 65 SYMBOLS, 3 ABS REFS # C 00000 #CLINT X 00000 #MAIN S 00000 #RENDO X 00000 #WRITO X 00000 ADB 00130 ADBSTX 00163 ADCL 06530 ADLE 06536 ADLM 06531 ADRB 06533 ADSETU 00067 ADSK 06534 ADST 06532 ARRAY 00142 BASEX 00137 BUFFLD 00025 BUFSIZ 00147 BUFSTX 00235 CDF0 00175 CLEN 06134 CLRBUF 00065 CLZE 06130 CSTART 00150 ESF 00004 FLDBUF 00161 FLDOK 00015 LENGTH 00145 LINC 06141 LNCSAM 00061 L1 00237 L10 00141 L100 00163 L2047 00122 L511 00125 L7 00176 MESSAG 00222 M3776 00140 NAME 00110 NCHANL 00153 NEXTCH 00002 NOERR 00036 NORINQ 00162 NPOINT 00156 OLDFLD 00040 OLDPTR 00151 OLDSTX 00175 PDP 00002 REALTM S 00241 SAM 00100 SAMADR 00113 SAMCNT 00150 SAMINS 00063 SAMPLD 00033 SAMPLE F 00177 SAMPTR 00142 SAMRTN 00173 SAMST 00131 SAMTMP 00153 SAMXR 00164 SPEEDK 00203 STPCOD 00115 STXMJA 00120 TOOFAS 00166 TTYUNT 00217 WAIT 00165 XCLINT 00161