View source code
Display the source code in dmd/backend/arm/disasmarm.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla 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 using local clone.

Module dmd.backend.arm.disasmarm

ARM64 disassembler. For unit tests: dmd disasmarm.d -unittest -main

Reference

Arm A64 Instruction Set for A-profile Architecture ISA_A64_xml_A_profile-2024-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].
getopstring(put, code, c, siz, model, nearptr, bObjectcode, 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