Skip to content

Latest commit

 

History

History
30 lines (19 loc) · 885 Bytes

VALUESYS.md

File metadata and controls

30 lines (19 loc) · 885 Bytes

Value system (32bit)

The original AmigaE can be seen as having a single-value system. All mathematical, bitwise, comparisons, etc, operations are done on the 32bit LONG value. ECX allows other types of values of other sizes to coexist with the default 32bit LONG value.

  1. The (LONG) General purpose value [default]

    LONG can hold Addresses: {}, `, ARRAY OF , PTR TO * Single floats: FLOAT 32bit Immediate values: 100, 99.78, -6, MY_VALUE10, ..

    Values smaller than LONG are automatically converted to/from LONG:

    CHAR/INT <=> LONG

  2. The (DOUBLE) Floating point value

    Values smaller than DOUBLE are automatically converted to/from DOUBLE:

    LONG/99.78/-6.0/!MY_VALUE*10.0, .. <=> DOUBLE

  3. The (WIDE) 64bit integer

    Values scale WIDE <=> LONG/INT/CHAR

  4. Possibly in future: VECTOR type.

    Would use intrinsics to do math/bitwise/comparison.