ARM bare-metal programming in D (cont) - volatile
eles
eles at eles.com
Thu Oct 24 11:33:36 PDT 2013
On Thursday, 24 October 2013 at 17:02:51 UTC, Walter Bright wrote:
> On 10/24/2013 4:18 AM, eles wrote:
>> On Thursday, 24 October 2013 at 06:48:07 UTC, Walter Bright
>> wrote:
>>> On 10/23/2013 11:19 PM, Mike wrote:
> Like I said, nobody (on the standards committees) could agree
> on exactly what that meant.
The standard committees might not agree, but there is somebody
out there that really knows very accurately what that should
mean: that somebody is the hardware itself.
Just imagine the best hardware example that you have at hand: the
microprocessor that you are programming for.
It writes on the bus, there is a short delay before the signals
are guaranteed to reach the correct levels, then reads the memory
data and so on.
You cannot read the data before the delay passes. You cannot say
"well, I could postpone the writing on the address on the bus,
let's read the memory location first" -- or you would read
garbage. Or you cannot say: well, first I will execute the
program without a processor then, when the user is already pissed
off, I would finally execute all those instructions at once. Too
bad that the computer is already flying through the window at
that time.
You command that processor from the compiler. Now, the thing
that's needed is to give a way to do the same (ie commanding a
hardware) from the program compiled by the compiler.
More information about the Digitalmars-d
mailing list