Ethy_Soft/runtime/adainclude/system.ads
2025-06-24 22:37:52 +02:00

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;