STRE Prototype SGLB Misc/Class Reference CLAS 354855 Recipe Handler 2 ESBR SORD 2 main data structure LITO 0 current selection LITO 1 /o,1,255;High limit (1-255) ESBR SORD 3 /e,,,,Recipe channels;Channel List ICAL Dummy /*/O,354856,354857,354858;Channel name ESBR SORD 4 input states LITO 0 state of store input LITO 0 state of recall input LITO 0 state of raise input LITO 0 state of lower input PORD 1 /o,1,255;Initial recipe ESBR SGLB Output/#1 LCON /*+0,0,144,0,DISPLAY;Display Output ESBR ESTR STRE SGLB Misc/Superclass Reference CLAS 354008 Object ESBR SGLB General/Initialize for internal class use only !!! CMNT Expects: É ¥ inst/É LITO 5 É ¥ 5/inst/É LITO 4 É ¥ 4/5/inst/É PRIM S_tree/Read É ¥ select/inst/É LITO 0 É ¥ 0/select/inst/É PRIM Stack/Swap É ¥ select/0/inst/É GSYM Recipe/Select É ¥ method/select/0/inst/É PRIM Stack/Pop to aux É/method ¥ select/0/inst/É LCAL select ESBR SGLB Recipe/Lower /3t5,false,true;Lower input CMNT Expects: É ¥ inst/arg/É LITO 4 É ¥ 4/inst/arg/É LITO 4 É ¥ 4/4/inst/arg/É CALL 354236 É ¥ rslt/inst/É BRFL branch if not a positive edge PRIM Heap/Store self BRTR LITO 2 É ¥ 2/inst/É PRIM S_tree/Entry to stack É ¥ high/current/inst/É PRIM Stack/Over É ¥ current/high/prev/inst/É PRIM Ordinal/Decrement É ¥ new/high/prev/inst/É PRIM Stack/Duplicate É ¥ new/new/high/prev/inst/É BRFL branch if rapping PRIM Stack/Drop É ¥ high/prev/inst/É LCAL set É ¥ É BRTR PRIM Stack/Xdrop É ¥ new/prev/inst/É LCAL set É ¥ É ESBR SGLB Recipe/Raise /3t5,false,true;Raise input CMNT Expects: É ¥ inst/arg/É LITO 3 É ¥ 3/inst/arg/É LITO 4 É ¥ 4/3/inst/arg/É CALL 354236 É ¥ rslt/inst/É BRFL branch if not a positive edge PRIM Heap/Store self BRTR LITO 2 É ¥ 2/inst/É PRIM S_tree/Entry to stack É ¥ high/current/inst/É PRIM Ordinal/Compare É ¥ current>=high?/current/inst/É BRFL branch if not rapping PRIM Stack/Duplicate É ¥ current/prev/inst/É PRIM Ordinal/Increment É ¥ new/prev/inst/É LCAL set É ¥ É BRTR LITO 1 É ¥ 1/prev/inst/É LCAL set É ¥ É ESBR SGLB Recipe/Recall /3t5,false,true;Select... CMNT Expects: É ¥ inst/arg/É LITO 2 É ¥ 2/inst/arg/É LITO 4 É ¥ 4/2/inst/arg/É CALL 354236 É ¥ rslt/inst/É BRFL branch if not a positive edge PRIM Heap/Store self BRTR LITO 0 É ¥ 0/inst/É LITO 3 É ¥ 3/0/inst/É PRIM S_tree/Read É ¥ list/inst/É GSYM Recipe/Recall É ¥ method/list/inst/É PRIM Stack/Pop to aux É/method ¥ list/inst/É LCAL notify É ¥ É ESBR SGLB Recipe/Select /3u19,1,255;Select Recipe CMNT Expects: É ¥ inst/arg/É PRIM Stack/Second to aux É/arg ¥ inst/É PRIM Stack/Dup from aux É/arg ¥ arg/inst/É BRFL branch if arg is 0 (ignore it) PRIM Stack/Drop from aux É ¥ inst/É PRIM Heap/Store self É ¥ É BRTR LITO 2 É/arg ¥ 2/inst/É PRIM S_tree/Entry to stack É/arg ¥ high/current/inst/É PRIM Stack/Dup from aux É/arg ¥ arg/high/current/inst/É PRIM Ordinal/Compare É/arg ¥ arg<=high?/high/current/inst/É PRIM Stack/Xdrop É/arg ¥ arg<=high?/current/inst/É BRFL branch if arg > high (ignore it) PRIM Stack/Drop from aux É ¥ current/inst/É PRIM Stack/Drop É ¥ inst/É PRIM Heap/Store self É ¥ É BRTR PRIM Stack/Push from aux É ¥ arg/current/inst/É LCAL set É ¥ É ESBR SGLB Recipe/Store /3t5,false,true;Select... CMNT Expects: É ¥ inst/arg/É LITO 1 É ¥ 1/inst/arg/É LITO 4 É ¥ 4/1/inst/arg/É CALL 354236 É ¥ rslt/inst/É BRFL branch if not a positive edge PRIM Heap/Store self BRTR LITO 0 É ¥ 0/inst/É LITO 3 É ¥ 3/0/inst/É PRIM S_tree/Read É ¥ list/inst/É GSYM Recipe/Store É ¥ method/list/inst/É PRIM Stack/Pop to aux É/method ¥ list/inst/É LCAL notify É ¥ É ESBR SGLB Recipe/Get Select /2u2 LITO 1 CALL 354072 Method 2 Get ESBR ESTR CMTL 5 graphic info CMNT 4 -18,-18,668,518 CMTL 3 0 CMNT 24 20,0,144,45,0,1,LOWER;Recipe/Lower CMNT 24 20,0,216,45,0,2,RAISE;Recipe/Raise CMNT 24 20,0,288,45,0,3,RECALL;Recipe/Recall CMNT 24 20,0,360,45,2,1,SELECT;Recipe/Select CMNT 24 20,0,432,45,0,4,STORE;Recipe/Store ECMT CMTL 7 0 CMNT 22 -10,354,3,2,1,Recipe/Get Select;/u CMNT 14 660,140,3,2,2,Recipe/Get Output;/v,-100,100;%1.1f%% ECMT CMNT 8 0,0,650,500 CMNT 18 325,70,RECIPE HANDLER 2 ECMT LDEF update CMNT Sends to all the channels CMNT Input: É/method ¥ list/arg/É CMNT Output: É ¥ É PRIM List/Test for leaf É/method ¥ rslt/list/arg/É BRFL branch if not a leaf PRIM List/Behead É/method ¥ channel/list/arg/É PRIM Stack/Xover É/method ¥ arg/channel/list/arg/É PRIM Stack/Dup from aux É/method ¥ method/arg/channel/list/arg/É PRIM Stack/Second to aux É/method/arg ¥ method/channel/list/arg/É CALL 354060 É/method ¥ list/arg/É LCAL update É ¥ É BRTR PRIM List/List to item É/method ¥ channel/arg/É PRIM Stack/Push from aux É ¥ method/channel/arg/É PRIM Stack/Rotate down É ¥ arg/method/channel/É PRIM Stack/Pop to aux É/arg ¥ method/channel/É CALL 354060 Send Update EDEF LDEF notify CMNT Sends to all the channels CMNT Input: É/method ¥ list/inst/É CMNT Output: É ¥ É PRIM List/Test for leaf É/method ¥ rslt/list/inst/É BRFL branch if not a leaf PRIM List/Behead É/method ¥ channel/list/inst/É PRIM Stack/Dup from aux É/method ¥ method/channel/list/inst/É CALL 354059 É/method ¥ list/inst/É LCAL notify BRTR PRIM List/List to item É/method ¥ channel/inst/É PRIM Stack/Push from aux É ¥ method/channel/inst/É CALL 354059 Send Notify LITO 1 É ¥ 1/inst/É LITO 2 É ¥ 2/1/inst/É PRIM S_tree/Read É ¥ select/inst/É PRIM Stack/Swap É ¥ inst/select/É LITO 5 É ¥ 5/inst/select/É CALL 354077 Method 4 Set EDEF LDEF select É/method ¥ new/prev/inst/É CMNT Output: É ¥ É PRIM Stack/Swap É/method ¥ prev/new/inst/É PRIM Ordinal/Test equal BRFL branch if new value PRIM Stack/Dup down É/method ¥ new/inst/new/É GSYM Output/#1 É/method ¥ #1/new/inst/new/É PRIM Misc/Send entry É/method ¥ inst/new/É LITO 0 É/method ¥ 0/inst/new/É LITO 3 É/method ¥ 3/0/inst/new/É PRIM S_tree/Read É/method ¥ list/inst/new/É PRIM Stack/Xover É/method ¥ new/list/inst/new/É PRIM Stack/Swap É/method ¥ list/new/inst/new/É LCAL update É ¥ inst/new/É LITO 1 CALL 354073 É ¥ É BRTR PRIM Stack/Drop nothing to do PRIM Stack/Drop from aux PRIM Heap/Store self É ¥ É EDEF LDEF set É ¥ new/prev/inst/É GSYM Recipe/Select É ¥ method/new/prev/inst/É PRIM Stack/Pop to aux É/method ¥ select/0/inst/É LCAL select É ¥ É EDEF