39h | FN$COS | calculate cosine |

Input | Floating-point argument on the stack. |

Output | Floating-point result on the stack. |

Description |
Returns the cosine of the floating-point number (assumed to be in radians) on the run-time stack. The stack pointer (RTA_SP) remains unchanged. Error 248 is returned if the argument is greater than 3141590.4292 or less than -3141590.4292. See also: technical manual > utility system services > floating point numbers |

Example |
The following subroutine will return the cosine of 3.1416 (PI to 4
decimal places) in FN_RESULT.
LDD RTA_SP: SUBD #8 ;make room for argument on stack STD RTA_SP: ;D now has destination for UT$CPYB LDX #8 ;length for copying argument STX UTW_S0: LDX #FN_ARG ;source address for UT$CPYB OS UT$CPYB ;copy argument to stack OS FN$COS LDX RTA_SP: ;source address for copying result LDD #8 STD UTW_S0: ;length for copying result ADDD RTA_SP: ;add 8 to stack pointer STD RTA_SP: ;restore stack pointer LDD #FN_RESULT ;destination for copy OS UT$CPYB RTS FN_ARG: DB 0,0,0,60h,41h,31h,0,0 FN_RESULT: DS 8FN_RESULT will now contain the floating-point result -0.999999999974. |

Errors | 248 - bad argument in function call |