STRE Prototype SGLB Misc/Class Reference CLAS 354175 ESBR SORD 2 PORD 0 /o,0,32767;Hours PORD 0 1/100 hour count LITO 0 hold state LITO 0 reset state ESBR SGLB Output/#1 LCON /*+;Hours Output ESBR SGLB Output/#2 LCON /*+;Carry Output ESBR ESTR STRE SGLB Misc/Superclass Reference CLAS 354008 ESBR SGLB General/Initialize CMNT É ¥ inst/É PRIM Timer/Get PAT É ¥ time/inst/É TIME 36000.000 É ¥ Æt/time/inst/É GSYM Logic/Trigger É ¥ method/Æt/time/inst/É CALL 354057 É ¥ inst/É LITO 1 É ¥ 1/inst/É LITO 2 É ¥ 2/1/inst/É PRIM S_tree/Read É ¥ output/inst/É GSYM Output/#1 É ¥ #1/output/inst/É CALL 354024 É ¥ inst/É LITO 0 É ¥ carry output/inst/É GSYM Output/#2 É ¥ #2/carry output/inst/É CALL 354024 É ¥ inst/É PRIM Heap/Store self ESBR SGLB Logic/Preset /3u97,0,32767;Enter Hours CMNT Expects: É ¥ inst/arg/É PRIM Stack/Over É ¥ arg/inst/arg/É LITO 1 É ¥ 1/arg/inst/arg/É LITO 2 É ¥ 2/1/arg/inst/arg/É PRIM S_tree/Replace É ¥ inst/arg/É PRIM Stack/Swap É ¥ arg/inst/É GSYM Output/#1 É ¥ #1/arg/inst/É CALL 354024 É ¥ inst/É LITO 0 É ¥ 0/inst/É LITO 2 É ¥ 2/0/inst/É LITO 2 É ¥ 2/2/0/inst/É PRIM S_tree/Replace É ¥ inst/É PRIM Heap/Store self ESBR SGLB Logic/Trigger for internal class use only CMNT Expects: É ¥ inst/time/É PRIM Stack/Swap É ¥ time/inst/É TIME 36000.000 É ¥ Æt/time/inst/É GSYM Logic/Trigger É ¥ method/Æt/time/inst/É CALL 354057 É ¥ inst/É LITO 0 É ¥ 0/inst/É LITO 2 É ¥ 2/0/inst/É PRIM S_tree/Read É ¥ list/inst/É PRIM List/Remove É ¥ list'/hours/inst/É PRIM List/Remove É ¥ list''/fractions/hours/inst/É PRIM List/Remove É ¥ list'''/hold/fractions/hours/inst/É PRIM List/List to item É ¥ reset/hold/fractions/hours/inst/É PRIM Ordinal/Test zero É ¥ not reset/hold/fractions/hours/inst/É BRFL É ¥ hold/fractions/hours/inst/É (branch if reset is true) PRIM Stack/Drop É ¥ fractions/hours/inst/É PRIM Stack/Drop É ¥ hours/inst/É PRIM Stack/Drop É ¥ inst/É LITO 0 É ¥ 0/inst/É LITO 2 É ¥ 2/0/inst/É LITO 2 É ¥ 2/2/0/inst/É PRIM S_tree/Replace É ¥ inst/É LITO 0 É ¥ 0/inst/É LITO 1 É ¥ 1/0/inst/É LITO 2 É ¥ 2/1/0/inst/É PRIM S_tree/Replace É ¥ inst/É LITO 0 É ¥ 0/inst/É GSYM Output/#1 É ¥ #1/output/inst/É CALL 354024 É ¥ inst/É PRIM Heap/Store self BRTR PRIM Ordinal/Test zero É ¥ not hold/fractions/hours/inst/É BRFL É ¥ fractions/hours/inst/É (branch if reset is false, hold is true) PRIM Stack/Drop É ¥ hours/inst/É PRIM Stack/Drop É ¥ inst/É PRIM Heap/Store self BRTR CMNT reset is false, hold is false PRIM Stack/Duplicate É ¥ fractions/fractions/hours/inst/É LITO 99 É ¥ max fraction/fractions/fractions/hours/inst/É PRIM Ordinal/Difference É ¥ max ord-fractions/fractions/hours/inst/É BRFL É ¥ fractions/hours/inst/É (branch if fractions will overflow) PRIM Stack/Drop É ¥ hours/inst/É PRIM Stack/Swap É ¥ inst/hours/É LITO 0 É ¥ 0/inst/hours/É LITO 2 É ¥ 2/0/inst/hours/É LITO 2 É ¥ 2/2/0/inst/hours/É PRIM S_tree/Replace É ¥ inst/hours/É (reset fractions) PRIM Stack/Swap É ¥ hours/inst/É PRIM Stack/Duplicate É ¥ hours/hours/inst/É LITO 32767 É ¥ max hours/hours/hours/inst/É PRIM Ordinal/Difference É ¥ max ord-hours/hours/inst/É BRFL É ¥ hours/inst/É (branch if hours will overflow) PRIM Stack/Drop É ¥ inst/É LITO 0 É ¥ 0/inst/É LITO 1 É ¥ 1/0/inst/É LITO 2 É ¥ 2/1/0/inst/É PRIM S_tree/Replace É ¥ inst/É (reset hours) LITO 0 É ¥ 0/inst/É GSYM Output/#1 É ¥ #1/0/inst/É CALL 354024 É ¥ inst/É (update hours output) CMNT generate carry pulse on output #2 LITO 1 É ¥ carry high/inst/É GSYM Output/#2 É ¥ #2/carry high/inst/É CALL 354024 É ¥ inst/É LITO 0 É ¥ carry low/inst/É GSYM Output/#2 É ¥ #2/carry low/inst/É CALL 354024 É ¥ inst/É PRIM Heap/Store self BRTR CMNT hours will not overflow PRIM Ordinal/Increment É ¥ hours+1/inst/É PRIM Stack/Duplicate É ¥ hours+1/hours+1/inst/É PRIM Stack/Xswap É ¥ hours+1/inst/hours+1/É LITO 1 É ¥ 1/hours+1/inst/hours+1/É LITO 2 É ¥ 2/1/hours+1/inst/hours+1/É PRIM S_tree/Replace É ¥ inst/hours+1/É PRIM Stack/Swap É ¥ hours+1/inst/É GSYM Output/#1 É ¥ #1/new hours/inst/É CALL 354024 É ¥ inst/É PRIM Heap/Store self BRTR CMNT fractions will not overflow PRIM Ordinal/Increment É ¥ fractions+1/hours/inst/É PRIM Stack/Xdrop É ¥ fractions+1/inst/É LITO 2 É ¥ 2/fractions+1/inst/É LITO 2 É ¥ 2/2/fractions+1/inst/É PRIM S_tree/Replace É ¥ inst/É PRIM Heap/Store self ESBR SGLB Logic/Reset /3t5,false,true;Reset CMNT Expects: É ¥ inst/data/É PRIM Stack/Swap É ¥ data/inst/É PRIM Stack/Dup down É ¥ data/inst/data/É LITO 4 É ¥ 4/data/inst/data/É LITO 2 É ¥ 2/4/data/inst/data/É PRIM S_tree/Replace É ¥ inst/data/É PRIM Stack/Swap É ¥ data/inst/É BRFL É ¥ inst/É (branch if reset is false) PRIM Heap/Store self BRTR LITO 0 É ¥ 0/inst/É LITO 2 É ¥ 2/0/inst/É LITO 2 É ¥ 2/2/0/inst/É PRIM S_tree/Replace É ¥ inst/É LITO 0 É ¥ 0/inst/É LITO 1 É ¥ 1/0/inst/É LITO 2 É ¥ 2/1/0/inst/É PRIM S_tree/Replace É ¥ inst/É LITO 0 É ¥ 0/inst/É GSYM Output/#1 É ¥ #1/output/inst/É CALL 354024 É ¥ inst/É PRIM Heap/Store self ESBR SGLB Logic/Hold /3t5,false,true;Hold CMNT Expects: É ¥ inst/data/É LITO 3 É ¥ 3/inst/data/É CALL 354073 ESBR SGLB Logic/Get Hours /2u;Hours CMNT Expects: É ¥ inst/route/É LITO 1 É ¥ 1/inst/route/É CALL 354072 ESBR SGLB Logic/Get Fractional hours /2u;1/100 Hours CMNT Expects: É ¥ inst/route/É LITO 2 É ¥ 2/inst/route/É CALL 354072 ESBR SGLB Logic/Get Counter state /2e96,counting,holding,reset,holding in reset;state CMNT Expects: É ¥ inst/route/É LITO 3 É ¥ 3/inst/route/É LITO 2 É ¥ 2/3/inst/route/É PRIM S_tree/Read É ¥ hold/inst/route/É PRIM Stack/Swap É ¥ inst/hold/route/É LITO 4 É ¥ 4/inst/hold/route/É LITO 2 É ¥ 2/4/inst/hold/route/É PRIM S_tree/Read É ¥ reset/inst/hold/route/É PRIM Ordinal/Left É ¥ reset'/inst/hold/route/É PRIM Stack/Rotate down É ¥ hold/reset'/inst/route/É PRIM Ordinal/Add É ¥ state/inst/route/É CALL 354056 ESBR ESTR