STRE Prototype SGLB Misc/Class Reference CLAS 354368 ESBR SORD 2 LITO 0 LITO 0 LITO 0 LITO 0 LITO 0 LITO 0 LITO 0 LITO 0 LITO 0 LITO 0 LITO 0 LITO 0 ESBR SORD 3 LITO 0 TIME 200.000 /o;Sample time (ms) LITO 25 /o,8,200;Filter Time (ms) ESBR SGLB Output/#1 LCON /*+;Value Output ESBR SGLB Output/#2 LCON /*+;Ordinal Output ESBR ESTR STRE SGLB Misc/Superclass Reference CLAS 354008 ESBR SGLB General/Initialize CMNT Expects: É ¥ inst/É LITO 3 É ¥ 3/inst/É LITO 3 É ¥ 3/3/inst/É PRIM S_tree/Read É ¥ filter/inst/É LITO 1 É ¥ 1/filter/inst/É LITO 12 É ¥ 12/1/filter/inst/É LCAL Init É ¥ inst/É PRIM Timer/Get PAT É ¥ time/inst/É PRIM Stack/Swap É ¥ inst/time/É GSYM DIO/Cycle É ¥ method/inst/time/É CLAS 354368 ESBR SGLB DIO/Trigger for internal class use only ! CMNT Expects: É ¥ inst/data/channel/É PRIM Stack/Switch É ¥ channel/data/inst/É LITO 2 É ¥ 2/channel/data/inst/É PRIM S_tree/Replace É ¥ data/É PRIM Heap/Store self ESBR SGLB DIO/Cycle For internal class use only! CMNT Expects: É ¥ inst/time/É CMNT ---- requeue trigger LITO 2 É ¥ 2/inst/time/É LITO 3 É ¥ 3/2/inst/time/É PRIM S_tree/Read É ¥ Æt/inst/time/É PRIM Stack/Xswap É ¥ Æt/time/inst/É GSYM DIO/Cycle É ¥ method/Æt/time/inst/É CALL 354057 É ¥ inst/É CMNT ---- compute & send output LITO 2 É ¥ 2/inst/É PRIM S_tree/Entry to stack É ¥ b12/b11/b10/b9/b8/b7/b6/b5/b4/b3/b2/b1/inst/É LCAL MakeDigit É ¥ d3/b8/b7/b6/b5/b4/b3/b2/b1/inst/É PRIM Stack/Pop to aux É/d3 ¥ b8/b7/b6/b5/b4/b3/b2/b1/inst/É LCAL MakeDigit É/d3 ¥ d2/b4/b3/b2/b1/inst/É PRIM Stack/Pop to aux É/d3/d2 ¥ b4/b3/b2/b1/inst/É LCAL MakeDigit É/d3/d2 ¥ d1/inst/É PRIM Stack/Push from aux É/d3 ¥ d2/d1/inst/É PRIM Stack/Push from aux É ¥ d3/d2/d1/inst/É LCAL x10 É ¥ 10*d3/d2/d1/inst/É PRIM Ordinal/Add É ¥ out'/d1/inst/É LCAL x10 É ¥ out''/d1/inst/É PRIM Ordinal/Add É ¥ output/inst/É PRIM Stack/Dup down É ¥ output/inst/output/É LITO 1 É ¥ 1/output/inst/output/É LITO 3 É ¥ 3/1/output/inst/output/É PRIM S_tree/Replace É ¥ inst/output/É PRIM Stack/Over É ¥ output/inst/output/É GSYM Output/#2 É ¥ #2/output/inst/output/É PRIM Misc/Send entry É ¥ inst/output/É PRIM Stack/Swap É ¥ output/inst/É LITO 999 É ¥ 999/output/inst/É PRIM Misc/Ordinal to value É ¥ val_out/inst/É GSYM Output/#1 É ¥ #1/output/inst/É PRIM Misc/Send entry É ¥ inst/É PRIM Heap/Store self ESBR SGLB DIO/Get Output /2u LITO 1 CALL 354074 ESBR ESTR LDEF MakeDigit CMNT Takes four bits and forms a BCD digit. Errors saturate to 9 CMNT Input: É ¥ b3/b2/b1/b0/É CMNT Output: É ¥ digit/É PRIM Ordinal/Left É ¥ temp/b2/b1/b0/É PRIM Ordinal/Add É ¥ temp'/b1/b0/É PRIM Ordinal/Left É ¥ temp''/b1/b0/É PRIM Ordinal/Add É ¥ temp'''/b0/É PRIM Ordinal/Left É ¥ temp''''/b0/É PRIM Ordinal/Add É ¥ digit/É LITO 10 É ¥ 10/digit/É PRIM Ordinal/Compare É ¥ rslt/digit/É BRFL branch if OK PRIM Misc/Idle BRTR PRIM Stack/Drop É ¥ É LITO 9 É ¥ 9/É EDEF LDEF Init CMNT Initializes the channels CMNT Input: É ¥ count/type/filter/É CMNT Output: É ¥ É PRIM Stack/Xover É ¥ filter/count/type/filter/É PRIM Stack/Xover É ¥ type/filter/count/type/filter/É PRIM Stack/Xover É ¥ count/type/filter/count/type/filter/É ASIO DIO/DIO_init É ¥ count/type/filter/É PRIM Ordinal/Decrement É ¥ count-1/type/filter/É PRIM Stack/Duplicate É ¥ count-1/count-1/type/filter/É BRFL branch if done PRIM Stack/Drop É ¥ type/filter/É PRIM Stack/Drop É ¥ filter/É PRIM Stack/Drop É ¥ É BRTR LCAL Init EDEF LDEF x10 CMNT Multiplies an ordinal by 10 CMNT Input: É ¥ arg/É CMNT Output: É ¥ output/É PRIM Ordinal/Left É ¥ 2*arg/É PRIM Stack/Duplicate É ¥ 2*arg/2*arg/É PRIM Ordinal/Left É ¥ 4*arg/2*arg/É PRIM Ordinal/Left É ¥ 8*arg/2*arg/É PRIM Ordinal/Add É ¥ output/É EDEF