A large commit.
[pdp8.git] / sw / rescue / lab8e_goettingen / disk2_11 / rkb / paroff / haetri.ft
CommitLineData
81e70d48
PH
1C -+-+-+-+-+ \ e H A E T R I . F T \ f -+-+-+-+-+\r
2C\r
3C * OR 27-AUG-85 H.A.\r
4C * UP 2-SEP-85 H.A.\r
5 INTEGER FUNCTION TRITIM (INDEX,BITPOS)\r
6C\r
7C LIEFERT DIE DIFFERENZ DER BITPOSITIONEN ZU DEM VORHERGEHEND\r
8C GESETZTEN BIT IM TRIGGER ZEIT WORT.\r
9C EINGABE: INDEX INDEX FUER ESAM FUNKTION ( ZU GRIFF AUF DAS TRIGGER ZEIT WORT)\r
10C BITPOS (1..12) DIE BITSTELLE VON RECHTS NACH LINKS VON DER AN\r
11C IM ZEITWORT GESUCHT WERDEN SOLL (INCL.).\r
12C\r
13C AUSGABE: TRITIM (1..12) ANZAHL DER STELLEN VON LINKS NACH RECHTS WANN \r
14C DAS ERSTE BIT GEFUNDEN WURDE.\r
15C BITPOS ENTAEHLT DIE NAECHSTE STELLE VON DER AN BEIM NAECHSTEN\r
16C AUFRUF GESUCHT WERDEN SOLL.\r
17C BITPOS=0: FALLS IN DEM WORT KEIN BIT MEHR GEFUNDEN.\r
18C TRITIM IST DANN 0.\r
19C BITPOS=2..12 FALLS BIT IN IN 11 BIS 1 GEFUNDEN.\r
20C\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
30C\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
3510 CONTINUE\r
36 TRITIM=0 @ NO BIT FOUND ON SCAN, RETURN WITH ZERO\r
37 BITPOS=1\r
38 RETURN\r
39C\r
4020 TRITIM=J-BITPOS @ WE FOUND A BIT SET\r
41 BITPOS=J+1 @ INSERT THE NEXT POSITION FOR FURTHER REFERENCES\r
42 RETURN\r
43C\r
44C\r
4530 DO 31 I=23-BITPOS,35\r
46 IF(FLD(I,1,T).NE.0) GOTO 32\r
4731 CONTINUE\r
48 TRITIM=0 @ NOTHING FOUND, RETURN\r
49 BITPOS=1\r
50 RETURN\r
51C\r
5232 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