STRE Prototype SGLB Misc/Class Reference CLAS 354102 ESBR SORD 2 LITO 0 reset state LITO 0 count input state PORD 0 count PORD 0 /t,down,up;Direction ESBR SGLB Output/#1 LCON /*+;Count output ESBR ESTR STRE SGLB Misc/Superclass Reference CLAS 354008 ESBR SGLB Logic/Count /3t,false,true;Count Input CMNT Expects: É ¥ inst/arg/É LITO 0 É ¥ 0/inst/arg/É LITO 2 É ¥ 2/0/inst/arg/É PRIM S_tree/Read É ¥ list/inst/arg/É PRIM List/Behead É ¥ reset/list'/inst/arg/É BRFL branch if not in reset PRIM Stack/Xswap É ¥ list'/arg/inst/É PRIM List/Remove É ¥ list''/c_state/arg/inst/É PRIM Stack/Switch É ¥ arg/c_state/list''/inst/É BRFL branch if count input is 0 PRIM Stack/Xdrop É ¥ c_state/inst/É BRFL branch if count input state is 0 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/É PRIM Heap/Store self BRTR BRFL branch if count input state is 0 MACR rising edge PRIM Stack/Swap É ¥ inst/list''/É LITO 1 É ¥ 1/inst/list''/É LITO 2 É ¥ 2/1/inst/list''/É LITO 2 É ¥ 2/2/1/inst/list''/É PRIM S_tree/Replace É ¥ inst/list''/É PRIM Stack/Swap É ¥ list''/inst/É PRIM List/Remove É ¥ list'''/count/inst/É PRIM List/List to item É ¥ dir/count/inst/É BRFL branch if direction is down MACR count down (saturate at 0) PRIM Stack/Duplicate É ¥ count/count/inst/É BRFL branch if count=0 PRIM Stack/Drop É ¥ inst/É PRIM Heap/Store self BRTR PRIM Ordinal/Decrement É ¥ count-1/inst/É LCAL SendIt É ¥ inst/É PRIM Heap/Store self EMAC BRTR MACR count up (saturate at 32000) LITO 32000 É ¥ 32000/count/inst/É PRIM Ordinal/Compare É ¥ rslt/count/inst/É BRFL branch if less than 32000 PRIM Ordinal/Increment É ¥ count+1/inst/É LCAL SendIt É ¥ inst/É PRIM Heap/Store self BRTR PRIM Stack/Drop É ¥ inst/É PRIM Heap/Store self EMAC EMAC BRTR PRIM Stack/Drop É ¥ inst/É PRIM Heap/Store self BRTR PRIM Stack/Drop É ¥ inst/arg/É PRIM Stack/Xdrop É ¥ inst/É PRIM Heap/Store self ESBR SGLB Logic/Reset /3t,false,true;Reset Input CMNT Expects: É ¥ inst/arg/É CALL 354063 É ¥ state/arg/inst/É BRFL branch if not in reset BRFL branch if reset input=0 PRIM Heap/Store self BRTR LITO 0 É ¥ 0/inst/É LCAL SendIt É ¥ inst/É LITO 1 É ¥ new_state/inst/É CALL 354065 BRTR BRFL branch if reset input=0 LITO 0 É ¥ new_state/inst/É CALL 354065 BRTR PRIM Heap/Store self ESBR SGLB Logic/Direction /3t,down,up;Direction CMNT Expects: É ¥ inst/arg/É LITO 4 É ¥ 4/inst/arg/É CALL 354073 ESBR SGLB Logic/Get Count /2u CMNT Expects: É ¥ inst/route/É LITO 3 É ¥ 3/inst/route/É CALL 354072 ESBR SGLB Logic/Get Direction /2t,down,up CMNT Expects: É ¥ inst/route/É LITO 4 É ¥ 4/inst/route/É CALL 354072 ESBR ESTR LDEF SendIt CMNT Stores new count and sends it out CMNT Input: É ¥ count/inst/É CMNT Output: É ¥ inst/É PRIM Stack/Dup to aux É/count ¥ count/inst/É LITO 3 É/count ¥ 3/count/inst/É LITO 2 É/count ¥ 2/3/count/inst/É PRIM S_tree/Replace É/count ¥ inst/É PRIM Stack/Push from aux É ¥ count/inst/É GSYM Output/#1 É ¥ #1/count/inst/É CALL 354024 É ¥ inst/É EDEF