You don't need to double the address anywhere, that's not what your pseudo code is even doing.
The first buffer is &buffer, the second is &buffer+24 (assuming bytes but it's a fixed offset regardless) - all the maths works without ever having to double anything.
I think you've confused yourself by thinking having the two "buffers" combined into one somehow means the second one is at double the address, but that's not what is happening.
|