dynasm/dispatch

High-level dispatch used by dynasm macro. Takes runtime Operand values and calls correct encoder.

Procs

proc defaultRegSizeForMem(explicit: OpSize; other: OpSize): OpSize {....raises: [],
    tags: [], forbids: [].}
proc dynasmAbs(a: var auto; size: RelocationSize; lr: LabelRef)
proc dynasmAlu(a: var auto; mn: string; dst, src: Operand; isX64: bool)
proc dynasmBytes(a: var auto; data: openArray[byte])
proc dynasmBytesStr(a: var auto; s: string)
proc dynasmCall(a: var auto; op: Operand; isX64: bool)
proc dynasmDivMul(a: var auto; mn: string; op: Operand; isX64: bool)
proc dynasmImul(a: var auto; dst, src: Operand; isX64: bool)
proc dynasmImul3(a: var auto; dst, src: Operand; imm: int64)
proc dynasmIncDec(a: var auto; mn: string; op: Operand; isX64: bool)
proc dynasmJcc(a: var auto; mn: string; op: Operand; isShort: bool)
proc dynasmJmp(a: var auto; op: Operand; isShort: bool)
proc dynasmLea(a: var auto; dst: Operand; src: Operand; isX64: bool)
proc dynasmMov(a: var auto; dst, src: Operand; isX64: bool)
proc dynasmMovzx(a: var auto; dst, src: Operand; isX64: bool)
proc dynasmPop(a: var auto; op: Operand; isX64: bool)
proc dynasmPush(a: var auto; op: Operand; isX64: bool)
proc dynasmRel(a: var auto; size: RelocationSize; lr: LabelRef)
proc dynasmShift(a: var auto; mn: string; dst: Operand; count: Operand;
                 isX64: bool)
proc dynasmTest(a: var auto; lhs, rhs: Operand)