CensoredUsername / dynasm-rs

A dynasm-like tool for rust.
https://censoredusername.github.io/dynasm-rs/language/index.html
Mozilla Public License 2.0
716 stars 52 forks source link

Language dialect reference for AArch64 has some stale x86/x86-64 references #70

Closed dead-claudia closed 1 year ago

dead-claudia commented 2 years ago

Ref: https://censoredusername.github.io/dynasm-rs/language/langref_aarch64.html

Separately, I have a few suggestions about it:

  1. 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.
  2. 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).
CensoredUsername commented 2 years ago

Whoops, I definitely should've done an editing pass over that. Thanks for the notes.

CensoredUsername commented 1 year ago

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.