# Last modified on Mon Apr 29 15:28:41 PDT 1996 by heydon # # Take the square root of 2 PI # # a~6.0, b~2.5 :: SIN(a) = 0.0 AND b*b = a # -> Print(FmtReal(a)) # ELSE Print("Could not solve equations\n") V0 0.0 V1 2.5 V2 6 V3 "Could not solve equations\n" V4 "Result: " V5 "\n" C1 # INCSP 3 .INCSP b3 # PUSHG 2 (6.0) .PUSHG c2 # POPL 1 (a) .POPL s1 # PUSHG 1 (2.0) .PUSHG c1 # POPL 2 (b) .POPL s2 # PUSHL 1 .PUSHL s1 # PUSHL 2 .PUSHL s2 # PUSHG 0 .PUSHG c0 # SOLVE 2 1 2 .SOLVE u2 u1 u2 # 0.0 = SIN(a) b6 u2 u0 # a = b * b b3 u0 u1 u1 # TJUMP OK .TJUMP s13 # PUSHG 3 .PUSHG c3 # CALLEXT Print .CALLEXT c0 .DECSP b1 # RET .RET # OK: POPL 2 .POPL s2 # POPL 1 .POPL s1 # PUSHG 4 "Result: " .PUSHG c4 # CALLEXT Print .CALLEXT c0 .DECSP b1 # INCSP 1 (* space for FmtReal result *) .INCSP b1 # PUSHL 1 .PUSHL s1 # CALLEXT FmtReal .CALLEXT c2 # DECSP 1 .DECSP b1 # CALLEXT Print .CALLEXT c0 .DECSP b1 # PUSHG 5 "\n" .PUSHG c5 # CALLEXT Print .CALLEXT c0 .DECSP b1 # RET .RET END