1 C -+-+-+-+-+
\ e H A E T R I . F T
\ f -+-+-+-+-+
5 INTEGER FUNCTION TRITIM (INDEX,BITPOS)
7 C LIEFERT DIE DIFFERENZ DER BITPOSITIONEN ZU DEM VORHERGEHEND
8 C GESETZTEN BIT IM TRIGGER ZEIT WORT.
9 C EINGABE: INDEX INDEX FUER ESAM FUNKTION ( ZU GRIFF AUF DAS TRIGGER ZEIT WORT)
10 C BITPOS (1..12) DIE BITSTELLE VON RECHTS NACH LINKS VON DER AN
11 C IM ZEITWORT GESUCHT WERDEN SOLL (INCL.).
13 C AUSGABE: TRITIM (1..12) ANZAHL DER STELLEN VON LINKS NACH RECHTS WANN
14 C DAS ERSTE BIT GEFUNDEN WURDE.
15 C BITPOS ENTAEHLT DIE NAECHSTE STELLE VON DER AN BEIM NAECHSTEN
16 C AUFRUF GESUCHT WERDEN SOLL.
17 C BITPOS=0: FALLS IN DEM WORT KEIN BIT MEHR GEFUNDEN.
19 C BITPOS=2..12 FALLS BIT IN IN 11 BIS 1 GEFUNDEN.
22 EXTERNAL FLD,IATX,ESAM
26 \f CH=CHANEL @ SAVE ACTUAL CHANNEL NUMBER FOR ESAM
27 CHANEL=CHNLS @ WE INVESTIGATE THE FIRST TRIGG CHANEL
31 IF (BITPOS.LT.0) GOTO 30 @ SEARCH LEFT TO RIGHT
32 DO 10 J=BITPOS,12 @ WE INVESTIGATE THE RIGHTMOST WORD
33 I=36-J @ REVERSE COUNTER
34 IF (FLD(I,1,T).NE.0) GOTO 20 @ BIT IS SET
36 TRITIM=0 @ NO BIT FOUND ON SCAN, RETURN WITH ZERO
40 20 TRITIM=J-BITPOS @ WE FOUND A BIT SET
41 BITPOS=J+1 @ INSERT THE NEXT POSITION FOR FURTHER REFERENCES
45 30 DO 31 I=23-BITPOS,35
46 IF(FLD(I,1,T).NE.0) GOTO 32
48 TRITIM=0 @ NOTHING FOUND, RETURN
52 32 TRITIM=I+BITPOS-22 @ COMPUTE THE DIFFERENCE BETWEEN THE BITS
53 BITPOS=I-22 @ COMPUTE POSITION OF NEXT BIT