Your example program was also unduly complicated to go through in a forum discussion, so let me fix that.
Wow, your "simplification" was much more complicated than my original example. How does it differ?
The processor cycle, let's say, is step Y. X is one of the rest of the steps. Y isn't in total isolation of X. What happens at Y should depend on X. If it doesn't, that means that memory is failing to supply its black box guarantees that we rely on in order to run the algorithm.
And yes, that is what I'm claiming.
So are you or are you not claiming that there is something in the system what will be able to tell that the black box has not lived up to it's guarantee, so that this processor cycle should somehow produce some different result, even though the value of the datum that was stored was the same as the one that was retrieved?
Now I have to say "something" and "some different result" because I don't know what it is that you and rocketdodger are referring to here. I can't understand what you are trying to say.
As far as I know when the CPU processes a particular instruction it has no idea where the data came from beyond the memory location specified and no idea where it is going to go beyond the memory location specified.
It does not know how that datum got into that particular memory location and it does not need to know.
Furthermore, I thought you said you were showing what the difference is.
I was??? Where? I thought that you and rocketdodger were claiming that those instructions would produce a different result in Run3 as they did in Run1.
If not, then no problem.
But regardless, part 2 being completely different than part 1, and this "showing a difference" thing somehow mutating within your post into "same thing", and "set" being the same as "cycle", etc... I cannot make a lick of sense out of the aforementioned quoted text. Could you please help?
What on earth are you talking about here? What is part 1 and part 2? What is before and after the dash?
Are you referring to something I said here? I have no idea what you are even asking.
It is simple
Run 1
Instruction 1 stores A
Black box
Instruction 2 retreives A does calculation and stores B
Black box
Instruction 3 retreives B
Run 3
Instruction 1 stores A
Black box 2
Instruction 2 retreives A does calculation and stores B
Black box 2
Instruction 3 retreives B
Now so long as instruction 2 gets back the same value that was stored in instruction 1 and instruction 3 gets back the same value that was stored in instruction 2, will the process represented by {Instruction 1, Instruction 2, Instruction 3} behave the same way in Run 3 as it did in Run 1?
Why is that such a difficult question to answer?