7
The 8087 (7) command dumps the contents of the math processor registers. If you do not have an 8087 or equivalent math processor chip, this command dumps the contents of the software-emulated registers.
The following example shows and describes the output from the 7 command:
cControl 037F (Closure=Projective Round=nearest, Precision=64-bit )
IEM=0 PM=1 UM=1 OM=1 ZM=1 DM=1 IM=1
cStatus 6004 cond=1000 top=4 PE=0 UE=0 OE=0 ZE=1 DE=0 IE=0
Tag A1FF instruction=59380 operand=59360 op-code=D9EE
Stack Exp Mantissa Value
cST(3) special 7FFF 8000000000000000 = + Infinity
cST(2) special 7FFF 0101010101010101 = + Not A Number
cST(1) valid 4000 C90FDAA22168C235 = +3.141592265110390E+000
cST(0) zero 0000 0000000000000000 = +0.000000000000000E+000
Here, the lowercase c that precedes several lines of the output indicates that the coprocessor is in use. If this command had been used with an emulated coprocessor, an e would precede the lines. The following is a line-by-line description of the output from the 7 command:
This line shows the value in the control register, 037F. The rest of the line interprets the bits represented by the number in the control register:
The closure method, which can be projective or affine.
The rounding method, which can be nearest (even), down, up, or chop (truncate to zero).
The precision, which can be 64, 53, or 24 bits.
This line lists the status of the exception-mask bits, described in the following table:
Name | Description |
IEM | Interrupt enable |
PM | Precision |
UM | Underflow |
OM | Overflow |
ZM | Zero divide |
DM | Denormalized operand |
IM | Invalid operation |
This line lists the value in the status register (6004 hexadecimal), the condition code (1000 binary), and the top of stack register (4 decimal). It then lists the exception flags, described in the following table:
Flag | Meaning |
PE | Precision |
UE | Underflow |
OE | Overflow |
ZE | Zero divide |
DE | Denormalized operand |
IE | Invalid operation |
This line lists the 20-bit address of the tag register, the offset of the instruction, the offset of the operand, and the offset of the op-code, all in hexadecimal. When using software-emulated coprocessor routines, this line does not appear.
The rest of the output from the 8087 command lists the contents of the stack register. In this example, ST(3) contains the value infinity, ST(2) contains a value that cannot be interpreted as any number, ST(1) contains a real number, and ST(0) contains zero.