TGViewer
Блог* Блог* @dereference_pointer_there · 1.98K subscribers
Post #10962 1.04K
#prog #article

AArch64 Bitmask Immediates

AArch64 (aka 64-битный ARM) — это архитектура с постоянным числом бит на кодировку инструкции (в противовес, скажем, x64). Это означает, что хотя архитектура и оперирует 64-битными числами, инструкции не могут использовать полноразмерные 64-битные литералы — они банально не влезают. К примеру, инструкции mov*, помещающие значение в регистр, могут принимать литералом только 16-битное число.

Подобные ограничения действуют и для инструкций, использующих побитовые логические операции. Однако там используется особый формат кодировки значений — т. н. bitmask immediate, который эксплуатирует тот факт, что на практике битовые маски, как правило, не произвольные числа, а имеют определённую структуру, и позволяет закодировать широкий набор битовых масок в всего 13 битах. Эта статья рассказывает, как устроена эта кодировка, и приводит код на Rust для того, чтобы переводить битовые маски в эту кодировку.
  • 👍 3
More from @dereference_pointer_there
  1. Oct 6, 2026Post #11556
  2. Oct 5, 2026photo post
  3. Oct 5, 2026https://ayles.github.io/doom-in-kernel/ Коллеги (на этот раз действительно коллеги!) подог…
  4. Oct 5, 2026#cpp
  5. Oct 4, 2026#math #meme
  6. Oct 3, 2026Re: I spent $220 on Google app ads and 60% of the installs were robots My favorite story:…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →