.CH "Primitive Data Modes" The following primitive data modes are presently handled by the code generator: .op "INT_MODE 1" .bd Integer objects are one 16-bit word in size. They have integral values in the range (-2**15) to (2**15[bl]-[bl]1), inclusive. .op "LONG_INT_MODE 2" .bd Long integer objects are two 16-bit words in size. They have integral values in the range (-2**31) to (2**31[bl]-[bl]1), inclusive. .op "UNS_MODE 3" .bd Unsigned objects are nominally one 16-bit word in size. They have integral values in the range 0 to (2**16[bl]-[bl]1). Bit fields (see FIELD_OP) can be of mode UNSIGNED, and may range from 1 bit to 16 bits in length (with consequent change in the range of values they can represent). .op "LONG_UNS_MODE 4" .bd Long unsigned objects are nominally two 16-bit words in size. They have integral values in the range 0 to (2**32[bl]-[bl]1). Machine addresses (pointers) are represented as long unsigned quantities. Bit fields (see FIELD_OP) can be of mode LONG UNSIGNED, and may range from 1 bit to 32 bits in length (with consequent change in the range of values they can represent). .op "FLOAT_MODE 5" .bd Floating point objects are two 16-bit words in size. .op "LONG FLOAT_MODE 6" .bd Long floating point objects are four 16-bit words in size. .op "STOWED_MODE 7" .bd STOWED mode is the mode assigned to structured objects like arrays and structs (Pascal "records"). STOWED objects may be any size from 1 to 65536 16-bit words; IMF operators that need to know the size of a STOWED object invariably have a "length" or "size" parameter to carry that information. .EV .fo //- # -//