Intel 80286, 80287 manual Largest, Zero Smallest, ......1 ---- 15 bits-----l..~1

Models: 80287 80286

1 515
Download 515 pages 45.04 Kb
Page 381
Image 381

inter

OVERVIEW OF NUMERIC PROCESSING

t = sign is compler:nent of original operand'ssign

$ = sign is "exclusive or" original operand signs (+ if operands had same sign, - if operands had different signs)

INDEFINITE

For every 80287 numeric data type, one unique encoding is reserved for representing the special value indefinite. The 80287 produces this encoding as its response to a masked invalid-operation exception. In the case of reals, the indefinite value can be stored and loaded like any NaN, and it always retains its special identity; programmers are advised not to use this encoding for any other purpose. Packed decimal indefinite may be stored by the NPX in a FBSTP instruction; attempting to use this encoding in a FBLD instruction, however, will have an undefined result. In the binary integers, the same encod- ing may represent either indefinite or the largest negative number supported by the format (-215 ,

-231 , or - 263). The 80287 will store this encoding as its masked response to an invalid operation, or when the value in a source register represents or rounds to the largest negative integer representable by the destination. In situations where its origin may be ambiguous, the .invalid operation exception flag can be examined to see if the value was produced by an exception response. When this encoding is loaded, or used by an integer arithmetic or compare operation, it is always interpreted as a negative number; thus indefinite cannot be loaded from a packed decimal or binary integer.

ENCODING OF DATA TYPES

Tables 1-13through 1-16show how.each of the special values just described is encoded for each of the numeric data types. In these tables, the least-significant bits are shown to the right and are stored in the lowest memory addresses. The sign bit is always the left-most bit of the highest-addressed byte.

Table 1-13. Binary Integer Encodings

 

Class

Sign

Magnitude

.,

(Largest)

0

11 ... 11

~

 

·

 

GI

 

·

·

0

 

'iii

 

 

·

0.

(Smallest)

0·

00...·01

 

 

Zero

0

00... 00

.,

(Smallest)

1

11...11

GI

 

 

 

.:::

 

·

·

GI

 

-:u

 

·

·

C)

 

1·

 

z

(Largest/Indefinite")

00

 

 

00...·

 

 

Word:

......1 ---- 15 bits-----l..~1

 

 

Short:

1......11----31 bits ----- t..~1

 

 

Long:

1......1 ---63 bits ----- t..~1

NOTES:

 

 

 

If this encoding is used as a source operand (as in an integer load or integer arithmetic instruction), the 80287 interprets it as the largest negative number representable in the format: -2'5,-23 " or -263.The

80287 will deliver this encoding to an integer destination in two cases:

1)If the result is the largest negative number

2)As the response to a masked invalid operation exception, in which case it represents the special value integer indefinite.

1-29

Page 381
Image 381
Intel 80286, 80287 manual Largest, Zero Smallest, ......1 ---- 15 bits-----l..~1