Jump to content

FPREG: Difference between revisions

From EDM2
Anakor (talk | contribs)
m Format
Ak120 (talk | contribs)
mNo edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== FPREG ==
Coprocessor stack register element.
Coprocessor stack register element.


=== Type ===
=== Type ===
 
  [[ULONG]]  losig
  [[OS2 API:DataType:ULONG|ULONG]]  losig
  ULONG  hisig
  [[OS2 API:DataType:ULONG|ULONG]] hisig
  [[USHORT]] signexp
  [[OS2 API:DataType:USHORT|USHORT]] signexp


==== C Declaration Method ====
==== C Declaration Method ====
typedef struct
typedef struct


=== Fields ===
=== Fields ===
 
;losig:Low 32-bits of the significand.
losig   Low 32-bits of the significand.
:The low 32-bits of the number's significant digits are held in the lower part of the significand field.
        The low 32-bits of the number's significant digits are held in the
;hisig:High 32-bits of the significand.
        lower part of the significand field.
:The high 32-bits of the number's significant digits are held in the higher part of the significand field.
;signexp:Sign and exponent.
hisig   High 32-bits of the significand.
:The exponent field (bits 64-78) locates the binary point within the significand field (bits 0-63).
        The high 32-bits of the number's significant digits are held in the
:The 1-bit sign field (bit 79) indicates whether the number is positive or negative.
        higher part of the significand field.
signexp Sign and exponent.
        The exponent field (bits 64-78) locates the binary point within the
        significand field (bits 0-63).
 
        The 1-bit sign field (bit 79) indicates whether the number is positive  
        or negative  
    
    
=== Comment ===
=== Comment ===
A floating point register is 80 bits wide and consists of three fields. The following graphic shows the layout of the floating point register:
A floating point register is 80 bits wide and consists of three fields. The
79  78        64 63                                    0
following graphic shows the layout of the floating point register:  
┌───┬────────────┬───────────────────────────────────────┐
│  │            │            Significand              │
└─┬─┴──────┬─────┴───────────────────────────────────────┘
  │        │
  │        Exponent
  Sign


[[Category:Data type]]
  79  78        64 63                                    0
  ┌───┬────────────┬───────────────────────────────────────┐
  │  │            │            Significand              │
  └─┬─┴──────┬─────┴───────────────────────────────────────┘
    │        │
    │        Exponent
    Sign

Latest revision as of 14:13, 24 May 2017

Coprocessor stack register element.

Type

ULONG  losig
ULONG  hisig
USHORT signexp

C Declaration Method

typedef struct

Fields

losig
Low 32-bits of the significand.
The low 32-bits of the number's significant digits are held in the lower part of the significand field.
hisig
High 32-bits of the significand.
The high 32-bits of the number's significant digits are held in the higher part of the significand field.
signexp
Sign and exponent.
The exponent field (bits 64-78) locates the binary point within the significand field (bits 0-63).
The 1-bit sign field (bit 79) indicates whether the number is positive or negative.

Comment

A floating point register is 80 bits wide and consists of three fields. The following graphic shows the layout of the floating point register:

79  78         64 63                                     0
┌───┬────────────┬───────────────────────────────────────┐
│   │            │             Significand               │
└─┬─┴──────┬─────┴───────────────────────────────────────┘
  │        │
  │        Exponent
 Sign