| description | Description of 'interlocked_exchange_add' function in HyperDbg Scripts |
|---|
interlocked_exchange_add
interlocked_exchange_add( GlobalVariable, Expression );
[GlobalVariable (Addend)]
A global variable to add the value of the resulting instruction to it.
[Expression (Value)]
The value which is added to the global variable.
Performs an atomic addition of two values.
The function returns the initial value of the GlobalVariable(Addend) parameter.
Result = interlocked_exchange_add(.my_gloabl_counter, 0x55);
Adds the value (0x55) to the global variable and saves the initial value of the .my_gloabl_counter into a local variable named Result.
You can also perform the subtraction by addition (using the 2's-complement system).