Dynasm for Nim: dynamic assembler with macro DSL. Mirrors dynasm-rs runtime + plugin for x64/x86/aarch64.
Exports
-
DynasmError, ==, ==, DynamicLabel, LabelKindDesc, duplicateLabel, $, $, DynasmErrorKind, impossibleRelocation, ArchKind, checkFailed, AssemblyOffset, unknownLabel, fromSize, SimpleRelocation, fitsSigned, writeValue, EncWord, writeAarchValue, AarchAdr, AarchAdrp, EncQWord, EncByte, decodeKind, readValue, RelocationSize, encodeKind, relSize, encodeAarchReloc, relSize, EncDWord, RelocationKind, AarchBCond, AarchB, readAarchValue, fromEncoding, AarchTbz, isLocal, resolveDynamic, clear, defineGlobal, StaticLabel, resolveStatic, globalLabel, LabelRegistry, defineDynamic, initLabelRegistry, nextLocal, newDynamicLabel, firstLocal, localLabel, defineLocal, placeLocalReference, getName, isGlobal, len, toExecutable, allocWritable, MutableBuffer, toMutable, size, isEmpty, DefaultPageSize, destroy, toSeq, pageSize, makeWritable, jitAllowWrites, newMutableBuffer, destroy, freeMapping, newExecutableBuffer, writeBytes, ptrAt, makeExecutable, ExecutableBuffer, [], execAddr, pushU32, adjustAt, initAssembler, pushI32, pushU32, pushI8, relocValue, initSimpleAssembler, globalLabel, pushI64, ensureExecCapacity, offset, pushU64, patchRange, push, pushI32, dynamicReloc, pushI32, align, newPatchLoc, dynamicReloc, pushU32, pushI16, pushI8, extendBytes, PatchLoc, align, pushI16, globalReloc, localLabel, finalize, globalLabel, dynamicLabel, needsAdjustment, push, backwardReloc, push, backwardReloc, pushU16, pushU16, encodeRelocs, forwardReloc, initVecAssembler, offset, pushI8, pushI64, readerPtr, pushU64, align, newAssembler, extendBytes, pushI16, localLabel, dynamicLabel, patchAt, SimpleAssembler, committedBytes, Assembler, commit, commit, finalize, globalReloc, fieldStart, pushU64, newDynamicLabel, newDynamicLabel, pushU16, forwardReloc, pushI64, extendBytes, valueReloc, valueReloc, finalize, offset, VecAssembler, sp, rdx, spl, r13b, w22, bpl, w5, x26, edx, w26, x3, r14d, rsp, w4, ebp, x15, dh, x1, w1, ecx, r13, r8b, A64ExtSxtx, eax, dynLbl, r11d, xmm2, si, w16, rdi, rbx, xmm0, x5, x11, xzr, rsi, r9b, regOp, cl, immOp, r15b, xmm12, ah, dword, cx, w3, fwd, Xreg, r10d, rcx, al, xmm3, w21, x21, bwd, w0, w9, dyn, labelOp, A64ExtSxtw, r10b, glob, xmm8, w30, RegClass, x12, xsp, x7, dword, w25, memOp, Rd, x30, ax, x20, w14, r14, w29, byte, xmm1, dil, x25, r14b, dl, r12d, extAddrPtr, A64ExtUxtw, wzr, r8, w19, xmm7, OpSize, Rx, xmm14, wsp, byte, regCode, r10, bl, esp, x6, OperandKind, x13, Rq, r12, x28, w10, w15, w12, x8, w24, LabelRefKind, bh, x24, xmm9, x19, r11b, dyn, x9, MemOp, x16, r9d, dynLbl, ebx, edi, w6, xmm4, xmm15, r15, dx, x23, w28, r13d, qword, r9, sil, x0, r11, x27, LabelRef, w2, w20, x17, Operand, w18, Wreg, r15d, x4, x29, w11, extAddr, rax, A64ExtUxtx, word, qword, w17, x18, dword, r12b, di, byte, w23, ch, xmm10, xmm6, Register, esi, x14, xmm5, x10, w27, x22, xmm13, w8, A64ExtLsl, bx, word, rbp, bp, qword, w7, xmm11, x2, word, r8d, w13, encJcc, encCqo, encAluRegImm, encLeaSized, encAluRegReg, encMovzxRegMem, encCallReg, encMovMemImm, encImulRegImm, encDivReg, encMovRegMem, encRet, encPopReg, encMovRegReg, encMovMemReg, emitRexIfNeeded, encDivMem, encPushReg, encIncDec, encShiftRegCl, encJmpRel, encShiftRegImm, encJccShort, encIncDecMem, encNop, encImulRegReg, encAluMemReg, encCallRel, encMovRegImm, encAluMemImm, encJmpMem, encInt3, encCallMem, encTestRegReg, encAluRegMem, encShiftMemImm, encMovzxRegReg, encJmpReg, encJmpShort, encImulRegMem, dynasmImul3, dynasmPush, dynasmTest, dynasmAbs, defaultRegSizeForMem, dynasmMov, dynasmRel, dynasmBytesStr, dynasmAlu, dynasmIncDec, dynasmDivMul, dynasmImul, dynasmLea, dynasmShift, dynasmCall, dynasmJcc, dynasmBytes, dynasmMovzx, dynasmPop, dynasmJmp, a64XRR, a64Cbx, a64BrLbl, a64Hlt, a64Adr, encodeLogical32, encodeWide32, a64RRI12, a64DupG, a64Reloc, a64MovI, a64RRn, encodeFloatImm, a64MovWide, a64Tbx, a64RRRR, encodeStretchedImm, a64Fcmp0, a64MemU, a64Misc, a64RRSh, a64VecRRR, a64Pair, a64BrReg, a64BfmI, a64MovInv, a64VecRR, a64FmovI, a64RR, a64LogicI, a64MovLogic, a64MoviD, a64Movi, badImm, a64Mem9, a64RRR, a64MemX, encodeLogical64, encodeWide64, A64Shape, a64Mnemonics, a64ExtendMods, A64Form, A64Entry, a64Entries, a64CondNames, a64ShiftMods, a64CondBits, a64CondBitsOf, a64ProcessInstruction, a64RegInfoOf, a64IsReg, isA64Mn, a64Emit, a64IsBareV, dynasm