Register (or argument index) to put VAR into.
Type to emulate VAR as, defaults to void for the same type as VAR is.
Used for preventing collisions when storing high/low of VAR. Change to a different value if getting errors.
{
mixin(mov!(rax, a));
mixin(mov!(rbx, b));
mixin(mov!(rcx, a, void, true));
}
All chained uses of mov must be enclosed in a scope using {..} Failure to do this will result in registers being overwritten by other movs, as this template uses scope (exit) for inline asm!
Does not automatically prepare the stack for you, and R10, R11, R12 & XMM8 are used as scratch registers. Use prep!(uint) to prepare the stack and rest!(uint) to restore the stack.