STRE Prototype SGLB Misc/Class Reference CLAS 354369 ESBR SORD 2 LITO 0 /o,0,999;Preset output (0 to 999) ESBR ESTR STRE SGLB Misc/Superclass Reference CLAS 354008 ESBR SGLB General/Initialize CMNT Expects: É ¥ inst/É LITO 8 É ¥ filter/inst/É LITO 0 É ¥ 0/filter/inst/É LITO 12 É ¥ 12/0/filter/inst/É LCAL Init É ¥ inst/É LCAL Update É ¥ É ESBR SGLB DIO/Ordinal Input /3u,0,999;Enter data (0 to 999) CMNT Expects: É ¥ inst/arg/É LITO 1 É ¥ 1/inst/arg/É LITO 2 É ¥ 2/1/inst/arg/É PRIM S_tree/Read É ¥ old/inst/arg/É PRIM Stack/Xswap É ¥ old/arg/inst/É PRIM Ordinal/Test equal É ¥ rslt/arg/inst/É BRFL branch if not equal LCAL limit É ¥ arg/inst/É LITO 1 É ¥ 1/arg/inst/É LITO 2 É ¥ 2/1/arg/inst/É PRIM S_tree/Replace É ¥ inst/É LCAL Update BRTR PRIM Stack/Drop É ¥ inst/É PRIM Heap/Store self ESBR SGLB DIO/Value Input /3v8,-100,100,0,100;Enter data (0% to 100%) CMNT Expects: É ¥ inst/arg/É PRIM Stack/Swap É ¥ arg/inst/É LITO 999 É ¥ 999/arg/inst/É PRIM Misc/Value to ordinal É ¥ arg'/inst/É PRIM Stack/Swap É ¥ inst/arg'/É GSYM DIO/Ordinal Input É ¥ method/inst/arg'/É CLAS 354369 ESBR SGLB DIO/Get Output /2u2 LITO 1 CALL 354072 ESBR ESTR 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 limit CMNT Limits the argument to 999 CMNT Input: É ¥ arg/É CMNT Output: É ¥ arg/É LITO 999 É ¥ 999/arg/É PRIM Ordinal/Reverse compare É ¥ rslt/999/arg/É BRFL branch if arg>999 PRIM Stack/Xdrop É ¥ 999/É BRTR PRIM Stack/Drop É ¥ arg/É EDEF LDEF weight CMNT Given an index, returns the BCD weight CMNT Input: É ¥ index/É CMNT Output: É ¥ weight/É STRE SORD 1 LITO 1 ESBR SORD 2 LITO 2 ESBR SORD 3 LITO 4 ESBR SORD 4 LITO 8 ESBR SORD 5 LITO 10 ESBR SORD 6 LITO 20 ESBR SORD 7 LITO 40 ESBR SORD 8 LITO 80 ESBR SORD 9 LITO 100 ESBR SORD 10 LITO 200 ESBR SORD 11 LITO 400 ESBR SORD 12 LITO 800 ESBR ESTR EDEF LDEF Update CMNT Updates the outputs channels CMNT Input: É ¥ inst/É CMNT Output: É ¥ É LITO 1 É ¥ 1/inst/É LITO 2 É ¥ 2/1/inst/É PRIM S_tree/Read É ¥ arg/inst/É LITO 12 É ¥ 12/arg/inst/É LCAL loop É ¥ inst/É PRIM Heap/Store self EDEF LDEF loop CMNT Performs the core loop for the ordinal to BCD conversion CMNT Input: É ¥ index/work/É CMNT Output: É ¥ É PRIM Stack/Dup down É ¥ index/work/index/É LCAL weight É ¥ weight/work/index/É LCAL DoIt É ¥ bit/work'/index/É PRIM Stack/Xswap É ¥ bit/index/work'/É PRIM Stack/Xdup É ¥ bit/index/index/work'/É ASIO DIO/DIO_set É ¥ index/work'/É PRIM Ordinal/Decrement É ¥ index-1/work'/É PRIM Stack/Duplicate É ¥ index-1/index-1/work'/É BRFL branch if done PRIM Stack/Drop É ¥ work'/É PRIM Stack/Drop BRTR LCAL loop EDEF LDEF DoIt CMNT Compares the working value with the weight CMNT updates the working value and returns the bit CMNT Input: É ¥ weight/work/index/É CMNT Output: É ¥ bit/work'/index/É PRIM Stack/Dup down É ¥ weight/work/weight/index/É PRIM Ordinal/Compare É ¥ rslt/work/weight/index/É BRFL branch if work