mov

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.

  1. string mov()
    template mov(uint ID, T, T val, AS = void, uint _LINE = __LINE__)
    static static pure pure
    string
    mov
    ()
  2. template mov(uint ID, alias VAR, AS = void, uint _LINE = __LINE__)

Members

Static functions

mov
string mov()
Undocumented in source. Be warned that the author may not have intended to support it.

Static variables

LINE
string LINE;
Undocumented in source.

Parameters

ID

Register (or argument index) to put VAR into.

AS

Type to emulate VAR as, defaults to void for the same type as VAR is.

_LINE

Used for preventing collisions when storing high/low of VAR. Change to a different value if getting errors.

Examples

 {
  mixin(mov!(rax, a));
  mixin(mov!(rbx, b));
  mixin(mov!(rcx, a, void, true));
}

Meta