Skip to content

thetrung/playground-fasm

Repository files navigation

Playground FASM

A sum of all bite-size puzzles/examples to learn Flat Assembler (FASM), piece by piece.

syscall (no library)

call function from library

Need to run make to compile & link :

Linux X86-64 Macros

I'm building a linux x86-64 macros library to assist with tricky problems like invoke for AMD64 ABI calling convention.

Just include linux64a.inc to your file.

FASM Package manager

This is what FASM is lacking to unite its fragile community brilliant minds - which may simplify many work with properly done library. Just a plan but I will make it into my TODO list.

Function: it may just simply manage a .toml file like cargo, then fetch every library from a git repo & auto regenerate Makefile to add it up in linker ld or gcc of your choice later.

Run via Docker

  • If you consider my minimal already-setup image based on ubuntu-24.04/6.11.11-linuxkit:

      docker pull deulamco/ubuntu-amd64:latest
    
  • Else, start your own container :

      docker run --rm -it --platform linux/amd64 -v $(pwd):/local ubuntu:24.04
    
  • Install packages :

      apt update -y && apt install fasm make binutils libc6-dev
    
  • Save your container -> image to use later :

      docker ps
      docker commit asteartnh3 your_hub/repo_name:tag
      docker push your_hub/repo_name:tag
    
  • Run :

      docker run -it -v $(pwd):/local your_hub/repo_name:tag
    

** This playground is based on x86-64 only, so we need a fixed environment to emulate it exclusively.

About

Playground to learn FASM - Flat Assembly Language.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors