VMS Help MACRO, VAX MACRO Assembler, Instructions, POLYx *Conan The Librarian (sorry for the slow response - running on an old VAX) |
Purpose: Allows fast calculation of math functions Format: opcode arg.x,degree.rw,tbladdr.ab Operation: result = Cdegree (first table entry) For degree times, loop result = arg * result Perform multiply and retain an extended floating fraction of 31 bits (POLYF) or 63 bits (POLYD). The fraction is truncated before normalization. result = result + Cnext (next table entry) Normalize, round and check for over/ underflow only after the combined multiply/ add sequence. if overflow then trap. if underflow then clear result, remember underflow and continue looping. C. Codes: N = {R0 LSS 0}, Z = {R0 EQL 0}, V = {floating overflow}, C = 0 Exceptions: Floating overflow/underflow, reserved operand Opcodes: 55 POLYF Polynomial evaluation F_floating 75 POLYD Polynomial evaluation D_floating 55FD POLYG Polynomial evaluation G_floating 75FD POLYH Polynomial evaluation H_floating
|