View source code
Display the source code in dmd/backend/arm/disasmarm.d from which thispage was generated on github.
Report a bug
If you spot a problem with this page, click here to create aBugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.Requires a signed-in GitHub account. This works well for small changes.If you'd like to make larger changes you may want to consider usinglocal clone.

Module dmd.backend.arm.disasmarm

ARM64 disassembler. For unit tests: dmd disasmarm.d -unittest -main -debug -fPIC For standalone disasmarm: dmd disasmarm.d -version=StandAlone -fPIC

Reference

Arm A64 Instruction Set for A-profile Architecture ISA_A64_xml_A_profile-2025-03.pdf A64 instruction set https://www.scs.stanford.edu/~zyedidia/arm64/

Functions

NameDescription
calccodsize(code, c, pc, model) Calculate and return the number of bytes in an instruction starting at code[c].
encodeHFD(d, imm8) Is double encodable into 8 bits?
field(opcode, end, start) Extract fields from instruction in manner lifted from spec.
getopstring(put, code, c, siz, model, nearptr, bObjectcode, bURL, mem, immed16, labelcode, shortlabel) Write to put() the disassembled instruction
jmpTarget(code, c, offset) If instruction is a jump or a call, get information about where the offset is and what it is.

Authors

Walter Bright

License

Boost License 1.0