View Single Post
Old 25 December 2019, 20:28   #1
sparhawk
Registered User

sparhawk's Avatar
 
Join Date: Sep 2019
Location: Essen/Germany
Age: 51
Posts: 304
Is move.l atomic

When I execute something like this:


Code:
lea NewFunction, a0
move.l a0, VBIService

The VBI looks like this (not complete):
Code:
...

move.l VBIService, a0
jsr(a0)
...
rte

So can it happen, that the VBI is happening while one half of the ptr is written, so that the jsr will be corrupted? Or is the instruction atomic, so that it is either written, or the old value is still valid? I would expect that it is safe, since we are dealing only with single core here, right? Or are there any other pitfalls involved which might cause a crash with such code?
sparhawk is offline  
 
Page generated in 0.04080 seconds with 11 queries