40 lines
1.3 KiB
Ada
40 lines
1.3 KiB
Ada
package System
|
|
with Pure is
|
|
|
|
type Name is (Light_Runtime_RP2040);
|
|
System_Name : constant Name := Light_Runtime_RP2040;
|
|
|
|
Min_Int : constant := Long_Long_Integer'First;
|
|
Max_Int : constant := Long_Long_Integer'Last;
|
|
|
|
Storage_Unit : constant := 8;
|
|
Word_Size : constant := 4 * Storage_Unit;
|
|
Memory_Size : constant := 2 ** Word_Size;
|
|
Max_Binary_Modulus : constant := 2 ** Word_Size;
|
|
Max_NonBinary_Modulus : constant := 2 ** Word_Size - 1;
|
|
|
|
type Address is private
|
|
with Preelaborable_Initialization;
|
|
Null_Address : constant Address;
|
|
|
|
function "<" (Left, Right : Address) return Boolean
|
|
with Import, Convention => Intrinsic;
|
|
function "<=" (Left, Right : Address) return Boolean
|
|
with Import, Convention => Intrinsic;
|
|
function ">" (Left, Right : Address) return Boolean
|
|
with Import, Convention => Intrinsic;
|
|
function ">=" (Left, Right : Address) return Boolean
|
|
with Import, Convention => Intrinsic;
|
|
function "=" (Left, Right : Address) return Boolean
|
|
with Import, Convention => Intrinsic;
|
|
|
|
type Bit_Order is (High_Order_First, Low_Order_First);
|
|
Default_Bit_Order : constant Bit_Order := Low_Order_First;
|
|
|
|
private
|
|
|
|
type Address is mod Memory_Size;
|
|
Null_Address : constant Address := 0;
|
|
|
|
end System;
|