CMNT This is a patch instruction for 'Misc/Value to ordinal' CMNT Input: É ¥ base/arg/É CMNT Output: É ¥ rslt/É CMNT This patch assumes the ROM12 data formats CMNT and loses one bit of precision in the ordinal LITO 32768 É ¥ 32768/base/arg/É PRIM Ordinal/Compare É ¥ base>=32768?/base/arg/É BRFL branch if base<32768 (just multiply) LCAL $testneg É ¥ rslt/É BRTR PRIM Ordinal/Right Input: É ¥ baseÖ2/arg/É LCAL $testneg É ¥ rsltÖ2/É PRIM Ordinal/Left Input: É ¥ rslt/É LDEF $testneg É ¥ base/arg/É CMNT Output: É ¥ arg*base/É PRIM Stack/Swap É ¥ arg/base/É PRIM Value/Test negative É ¥ rslt/arg/base/É BRFL branch if nonnegative PRIM Value/Multiply Input: É ¥ arg*base/É BRTR PRIM Stack/Drop É ¥ base/É PRIM Stack/Drop É ¥ É LVAL 0 É ¥ 0/É EDEF