ack/lang/a68s/liba68s/selecttsn.p
1988-10-04 13:41:01 +00:00

45 lines
1.3 KiB
OpenEdge ABL

46900 #include "rundecs.h"
46910 (* COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER *)
46920 (**)
46930 (**)
46940 (*-01() (*-05()
46950 FUNCTION SELECTT(PRIMARY: OBJECTP; STRUCTOFF: INTEGER): ASNAKED;
46960 (*PSELECT*)
46970 VAR TEMP: NAKEGER;
46980 BEGIN
46990 WITH TEMP, NAK DO
47000 BEGIN
47010 (*+11() ASNAK := 0; (*TO ENSURE THAT BIT IS CLEAR*) ()+11*)
47020 STOWEDVAL := PRIMARY;
47030 POSITION := STRUCTOFF+PRIMARY^.OFFSET;
47040 SELECTT := ASNAK
47050 END
47060 END;
47070 (**)
47080 (**)
47090 FUNCTION SELECTS(PRIMARY: OBJECTP; STRUCTOFF: INTEGER): ASNAKED;
47100 VAR TEMP: NAKEGER;
47110 BEGIN
47120 WITH TEMP, NAK DO
47130 BEGIN
47140 (*+11() ASNAK := 0; ()+11*) (* TO ENSURE THAT BIT IS CLEAR *)
47150 STOWEDVAL := PRIMARY;
47160 POSITION := STRUCTOFF+STRUCTCONST;
47170 SELECTS := ASNAK
47180 END
47190 END;
47200 (**)
47210 (**)
47220 FUNCTION SELECTN(TEMP: NAKEGER; STRUCTOFF: INTEGER): ASNAKED;
47230 BEGIN WITH TEMP DO
47240 BEGIN NAK.POSITION := NAK.POSITION+STRUCTOFF; SELECTN := ASNAK END;
47250 END;
47260 ()-05*) ()-01*)
47270 (**)
47280 (**)
47290 (*-02() BEGIN END ; ()-02*)
47300 (*+01()
47310 BEGIN (*OF MAIN PROGRAM*)
47320 END (*OF EVERYTHING*).
47330 ()+01*)