logoalt Hacker News

comonoid06/30/20250 repliesview on HN

I'm working on a dynamic ARM assembler for Rust. dynasm is too restrictive: it uses static register names, and iced-x86 is x86/x64 only.

It allows to define

add x1, x2, w3, sxth 2

add x2, x3, x4, lsr 8

as

...

add(X1, X2, X3).extend(ExtendMode::SXTH, 2), // yes, it is X3, not W3.

add(X2, X3, X4).shift(ShiftMode::LSR, 8),

...

Still haven't published the repo as I can't pick a cool name...