|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 2332 (0x91c) Types: TextFile Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦e5491d6b1⟧ └─⟦this⟧
-- types and constants describing the target. This one is for the 68K -- with unsigned_types; with unchecked_conversion; with types; with cpus; package target is ----------------------------- -- The name of this target -- ----------------------------- id: constant cpus.cpu_family_t := cpus.M68K; ------------------------------ -- Byte order of the target -- ------------------------------ byte_order: types.byte_ordering := types.big_endian; ------------------------------------------------- -- Address representation and the null address -- ------------------------------------------------- subtype addr_rep is unsigned_types.unsigned_integer; null_addr: constant addr_rep := 16#FFFF_FFFF#; function to_addr_rep is new unchecked_conversion(integer, addr_rep); function addr_rep_to_int is new unchecked_conversion(addr_rep, integer); ----------------------------------------------- -- Machine instruction opcode representation -- ----------------------------------------------- OPCODE_SIZE: constant := 16; type opcode_rep is range 0..16#ffff#; for opcode_rep'size use OPCODE_SIZE; ---------------------------------------------- -- using ILLEGAL_INTRUCTION for breakpoints -- ---------------------------------------------- BREAK_OPCODE_SIZE: constant := 16; type break_opcode_rep is range 0..16#ffff#; for break_opcode_rep'size use BREAK_OPCODE_SIZE; BREAKPOINT_OPCODE: constant break_opcode_rep := 16#4AFC#; ------------------------------------------- -- basic machine representations -- -- we read/write bytes on every machine. -- ------------------------------------------- type byte is range 0..16#ff#; for byte'size use 8; type memory is array(NATURAL range <>) of byte; pragma pack(memory); type ushort is range 0..16#ffff#; for ushort'size use 16; ------------------------------------------- -- parameters for user-procedure calling -- ------------------------------------------- type stack_image is array (natural range <>) of byte; ---------------------------------------------------------- -- This is the largest single read/write memory request -- ---------------------------------------------------------- buffer_size: constant := 496; mem_size: constant := buffer_size; type buffer_rep is array (integer range 0..(buffer_size - 1)) of byte; for buffer_rep'size use buffer_size*8; end target