pasm
is modern and independent assembler for x86-64 architecture as one of key parts in POLON toolchain.
Note
pasm
is still in beta phase and should not be relied on for any serious work.
Note
This info is for 25.06-beta1
release.
- Support for ~50%+ x86-64 ISA (~848+ instructions)
- Support for
SSE*
,AVX
,AVX2
,AVX-512
(WIP; APX soon)MMX
and more x86-64 extensions - Support for 64-bit and 32-bit ELF as export target
- Very performant and optimized (~3,14x faster than GAS in some cases)
Firstly you want to download/compile pasm
's binary.
Then you should read documentation (docs
) and see examples (some can be currently found in tests
directory).
go to examples
Precompiled pasm
binary on default ships with following features: timed
, iinfo
and target_all
.
You can also customize few parameters in src/conf.rs
.
Here is exhaustive list of features you can use:
time
: measures time it took for assembling (as a whole)vtime
: for benchmarkingiinfo
: instruction info (also stores Mnemonics as strings)target_all
: everytarget_*
target_elf
: elf target handling
see roadmap.md
pasm
was brought to you by matissoss <matissossgamedev@proton.me> under MPL 2.0 license.