Hello, I have been browsing the web somewhat to figure out how I can have access to a cmpxchg function in freepascal. At the momente I found very little information. Some references on people arguing that this is unnecessary. Others that it takes too much time etcetera. In any case: I _really_ want to have access to a cmpxchg function and tried to find information on the assembler routines on how to get access to such function.
I got as far as the following statement, which doesn't compile of course function cmpxchg(CompareVal, NewVal: Cardinal; var Target: Cardinal): Cardinal; assembler; asm lock cmpxchg [%eax], %ecx end; Now, the problem is twofold: 1. in which registers are the incoming values ? 2. there are syntax errors in this couple of lines and I have no idea what the proper syntax would be (and the freepascal wiki, has very little information on the assembler directives themselves). I will of course be grateful to anybody helping me solve this problem and send a very nice 'thank you' email :-) Wkr, -- http://werner.yellowcouch.org/
signature.asc
Description: OpenPGP digital signature
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal