dynasm-rs
dynasm-rs copied to clipboard
Language dialect reference for AArch64 has some stale x86/x86-64 references
Ref: https://censoredusername.github.io/dynasm-rs/language/langref_aarch64.html
- "Lexical structure definition" talks about it being "for the
x86andx64assembling backend" - "Base units" has
modifierandvector_reg_namewhich (generally) match reality for AArch64, but theprefix,static_reg_name, anddynamic_reg_nameparts only make sense in x86/x86-64
Separately, I have a few suggestions about it:
- It's worth calling out that the modifiers are only supported on some instructions. Notably, all the basic bitwise boolean instructions (
and/orr/orn/eor/eon) only support the standard shifts (lsl/lsr/asr/ror) and only with immediate offsets. - It may be helpful to link to https://developer.arm.com/documentation/ddi0596/2021-12/?lang=en for some additional resources (and likewise https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html and/or https://developer.amd.com/resources/developer-guides-manuals/ for x86-64) just extra visibility (especially those who aren't as familiar with assembly programming).
Whoops, I definitely should've done an editing pass over that. Thanks for the notes.
That should fix the stale references. I've kept static_reg_name and dynamic_reg_name as those are actually a thing (particularly, the X/XSP distinction is important). I also documented label reference offsets which I apparently just forgot at some point.