Skip to content

Matissoss/pasm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pasm

about

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.

features

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)

getting started

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).

examples

go to examples

features

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 benchmarking
  • iinfo : instruction info (also stores Mnemonics as strings)
  • target_all: every target_*
  • target_elf: elf target handling

dev roadmap

see roadmap.md

credits

pasm was brought to you by matissoss <matissossgamedev@proton.me> under MPL 2.0 license.

About

modern independent x86-64 assembler

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published