18.08.2013 Views

Level Epsilon Architecture Support Reference Manual

Level Epsilon Architecture Support Reference Manual

Level Epsilon Architecture Support Reference Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Data Structure and Text<br />

Second word:<br />

[ext] Not used<br />

hi_order_exp [47: 9] The high order 9 bits of the exponent<br />

mantissa [38:39] The fractional portion of the mantissa<br />

A double precision floating point operand with an exponent equal to 13 is used as a<br />

canonical representation of a double precision integer; an operand in this form is called a<br />

double_integer. (A double precision operand with exponent and mantissa zero is also a<br />

valid double_integer.) The largest double_integer magnitude is 2**78-1 = 8*26-1.<br />

Decimal Sequence Operands<br />

Some operators generate or consume operands interpreted as a sequence of decimal<br />

digits. Each digit is represented as a 4-bit binary integer in the range {0 to 9}. (Hex<br />

sequence representations of decimal data are often called Binary Coded Decimal, BCD.)<br />

A digit sequence is an unsigned sequence of decimal digits. Digit sequences generated<br />

by binary-to-decimal conversion operators contain only true digits; however, digit<br />

sequences that are inputs to pointer operators may include nondigits, which are hex<br />

characters in the range {hex "A" to hex "F"}. Up to 12 or 24 digits can be contained in a<br />

single or double precision operand, respectively; the second word of a double holds the<br />

low order digits. Depending on the operator, the digit sequence is left- or right-justified<br />

within the operand. The extension is not used.<br />

Boolean Operands<br />

Some operators generate and other operators consume operands interpreted as Boolean<br />

values. The Boolean values true and false are represented as binary 1 and 0,<br />

respectively. The terms True and False are used to specify Boolean values. In the<br />

specification of a stack output from an operator, True and False are defined as the 1-bit<br />

integer values 1 and 0, respectively. In the specification of a stack argument for an<br />

operator, True and False are defined as operands with bit [0:1] equal to 1 or 0,<br />

respectively; Boolean interpretation ignores field [47:47] of any operand, the extension,<br />

and the second word of a double precision operand.<br />

Boolean operands are generated by the relational operators, among others. Operands are<br />

interpreted as Boolean values by the branch operators and Assert operators. The logical<br />

operators do not interpret Boolean values; rather, they perform Boolean arithmetic on<br />

the argument bit vectors.<br />

3–4 6878 7530–007

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!