


Mov edx, //edx now contains the original value at this point edx contains the address to write the value to function declared as: stdcall void ConvertBackRoutine(int i, unsigned char *output) The convert back routine should hold a routine that converts the given integer back to a row of bytes (e.g when the user wats to write a new value) Shr eax,1 //shift right by 1 bit (divide by 2) Mov eax, //second fun fact, addressing with 32-bit registers doesn't work in 64-bit, it becomes a 64-bit automatically (most of the time) at this point ecx contains the address where the bytes are stored Note: Keep in mind that this routine can be called by multiple threads at the same time.

function declared as: stdcall int ConvertRoutine(unsigned char *input) The convert routine should hold a routine that converts the data to an nteger (in eax)
