Commit | Line | Data |
---|---|---|
81e70d48 PH |
1 | C -+-+-+-+-+ \ e H A E T R I . F T \ f -+-+-+-+-+\r |
2 | C\r | |
3 | C * OR 27-AUG-85 H.A.\r | |
4 | C * UP 2-SEP-85 H.A.\r | |
5 | INTEGER FUNCTION TRITIM (INDEX,BITPOS)\r | |
6 | C\r | |
7 | C LIEFERT DIE DIFFERENZ DER BITPOSITIONEN ZU DEM VORHERGEHEND\r | |
8 | C GESETZTEN BIT IM TRIGGER ZEIT WORT.\r | |
9 | C EINGABE: INDEX INDEX FUER ESAM FUNKTION ( ZU GRIFF AUF DAS TRIGGER ZEIT WORT)\r | |
10 | C BITPOS (1..12) DIE BITSTELLE VON RECHTS NACH LINKS VON DER AN\r | |
11 | C IM ZEITWORT GESUCHT WERDEN SOLL (INCL.).\r | |
12 | C\r | |
13 | C AUSGABE: TRITIM (1..12) ANZAHL DER STELLEN VON LINKS NACH RECHTS WANN \r | |
14 | C DAS ERSTE BIT GEFUNDEN WURDE.\r | |
15 | C BITPOS ENTAEHLT DIE NAECHSTE STELLE VON DER AN BEIM NAECHSTEN\r | |
16 | C AUFRUF GESUCHT WERDEN SOLL.\r | |
17 | C BITPOS=0: FALLS IN DEM WORT KEIN BIT MEHR GEFUNDEN.\r | |
18 | C TRITIM IST DANN 0.\r | |
19 | C BITPOS=2..12 FALLS BIT IN IN 11 BIS 1 GEFUNDEN.\r | |
20 | C\r | |
21 | INCLUDE HAEBUF.FI\r | |
22 | EXTERNAL FLD,IATX,ESAM\r | |
23 | INTEGER FLD,IATX\r | |
24 | REAL ESAM\r | |
25 | INTEGER T,CH,I\r | |
26 | \f CH=CHANEL @ SAVE ACTUAL CHANNEL NUMBER FOR ESAM\r | |
27 | CHANEL=CHNLS @ WE INVESTIGATE THE FIRST TRIGG CHANEL\r | |
28 | T=IATX(ESAM(INDEX))\r | |
29 | CHANEL=CH\r | |
30 | C\r | |
31 | IF (BITPOS.LT.0) GOTO 30 @ SEARCH LEFT TO RIGHT\r | |
32 | DO 10 J=BITPOS,12 @ WE INVESTIGATE THE RIGHTMOST WORD\r | |
33 | I=36-J @ REVERSE COUNTER\r | |
34 | IF (FLD(I,1,T).NE.0) GOTO 20 @ BIT IS SET\r | |
35 | 10 CONTINUE\r | |
36 | TRITIM=0 @ NO BIT FOUND ON SCAN, RETURN WITH ZERO\r | |
37 | BITPOS=1\r | |
38 | RETURN\r | |
39 | C\r | |
40 | 20 TRITIM=J-BITPOS @ WE FOUND A BIT SET\r | |
41 | BITPOS=J+1 @ INSERT THE NEXT POSITION FOR FURTHER REFERENCES\r | |
42 | RETURN\r | |
43 | C\r | |
44 | C\r | |
45 | 30 DO 31 I=23-BITPOS,35\r | |
46 | IF(FLD(I,1,T).NE.0) GOTO 32\r | |
47 | 31 CONTINUE\r | |
48 | TRITIM=0 @ NOTHING FOUND, RETURN\r | |
49 | BITPOS=1\r | |
50 | RETURN\r | |
51 | C\r | |
52 | 32 TRITIM=I+BITPOS-22 @ COMPUTE THE DIFFERENCE BETWEEN THE BITS\r | |
53 | BITPOS=I-22 @ COMPUTE POSITION OF NEXT BIT\r | |
54 | RETURN\r | |
55 | END\r | |
56 | \1a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 |