... or alternatively:

// Simple integers can be compile-time literals (i.e. C's #define)
enum ADDRESS_BUS_SIZE = 20; // 2^20 address bus
// In D it is more ideomatic to put the array length first.
// For example this wouldn't work: byte x, *y, memory[1 << ADDRESS_BUS_SIZE];
byte[1 << ADDRESS_BUS_SIZE] memory;

void main()
{
        ushort val = 12345;
        ushort* base = cast(ushort*) &memory[0x12340];

        foreach (i; 0 .. 5)
                base[i] = val++;
        
        foreach (i; 0 .. 5)
                writefln("%04x", base[i]);
}

-- 
Marco

Reply via email to