FPP_$STATUS Domain/OS FPP_$STATUS
NAME
fpp_$status - modify the floating-point status register
SYNOPSIS (C)
#include <apollo/base.h>
#include <apollo/fpp.h>
void fpp_$status(
fpp_op_t &option,
unsigned long int *status_reg,
status_$t *status)
SYNOPSIS (Pascal)
%include '/sys/ins/base.ins.pas';
%include '/sys/ins/fpp.ins.pas';
procedure fpp_$status(
in option: fpp_op_t;
var status_reg: set_32;
out status: status_$t);
SYNOPSIS (FORTRAN)
%include '/sys/ins/base.ins.ftn'
%include '/sys/ins/fpp.ins.ftn'
integer*4 status, status_reg
integer*2 option
call fpp_$status(option, status_reg, status)
DESCRIPTION
Fpp_$status modifies the floating-point status register. Fpp_$status is
for use only on the DN10000 series and on machines equipped with the
MC68881 or FPX units. When called on other machines, it will return
fpp_$unsupported_operation in status.
option
Specify one of the following predefined values:
read_op
Read the floating-point status register into status_reg.
write_op
Write the floating-point status register from status_reg.
exch_op
Exchange the contents of the floating-point status register
with the contents status_reg.
status_reg
A 32-bit image of the floating-point status register. It is inter-
preted as follows:
31 24 23 16
______________________________________________________________
| condition code | quotient |
|______________________________|______________________________|
| exception status | accrued exception |
______________________________________________________________
15 8 7 0
_______________________________________
| Floating-Point Status Register |
| Condition-Code Byte |
|______________________________________|
|Bit | Mnemonic and Name |
|____|_________________________________|
|31 | |
|____| |
|30 | |
|____| Reserved |
|29 | |
|____| |
|28 | |
|____|_________________________________|
|27 | N Negative |
|____|_________________________________|
|26 | Z Zero |
|____|_________________________________|
|25 | I Infinity |
|____|_________________________________|
|24 | NAN Not a Number or Unordered |
|____|_________________________________|
__________________________________
| Floating-Point Status Register |
| Quotient Byte |
|_________________________________|
| Bit | Mnemonic and Name |
|______|__________________________|
| 23 | S Sign of Quotient |
|______|__________________________|
| 22 | |
|______| |
| 21 | |
|______| |
| 20 | |
|______| |
| 19 | Q Quotient |
|______| |
| 18 | |
|______| |
| 17 | |
|______| |
| 16 | |
|______|__________________________|
_________________________________________________
Floating-Point Status Register
| Exception-Status Byte |
|________________________________________________|
|Bit Mnemonic and Name |
|____|___________________________________________|
|15 | BSUN Branch/Set on Unordered Condition |
|____|___________________________________________|
|14 | SNAN Signaling Not a Number |
|____|___________________________________________|
|13 | OPERR Operand Error |
|____|___________________________________________|
|12 | OVFL Overflow |
|____|___________________________________________|
|11 | UNFL Underflow |
|____|___________________________________________|
|10 | DZ Divide by Zero |
|____|___________________________________________|
| 9 | INEX2 Inexact Operation |
|____|___________________________________________|
| 8 | INEX1 Inexact Decimal Input |
|____|___________________________________________|
| | |
________________________________
|Floating-Point Status Register |
| Accrued-Exception Byte |
|_______________________________|
|Bit | Mnemonic and Name |
|____|__________________________|
| 7 | IOP Invalid Operation |
|____|__________________________|
| 6 | OVFL Overflow |
|____|__________________________|
| 5 | UNFL Underflow |
|____|__________________________|
| 4 | DZ Divide by Zero |
|____|__________________________|
| 3 | INEX Inexact |
|____|__________________________|
| 2 | |
|____| |
| 1 | NOT USED |
|____| |
| 0 | |
|____|__________________________|
status
The completion status.