Skip to content

A collection of simple assembly projects

MxPerrot/AssemblyExperiments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AssemblyExperiments

This is a collection of mini NASM Linux 32-bit assembly projects I wrote to teach myself this language

Structure

  • projects/ contains individual .asm files for each mini program
  • bin/ compiled executables (git ignored)
  • build/ intermediate object files (git ignored)
  • Makefile the build file
  • cheatsheet.md A cheatsheet / notes about asm
  • README.md This file

Requirements

  • NASM assembler
  • GNU linker (ld)
  • Linux or WSL2 environment

Building

Use make from the root directory

make		# Build all projects
make clean	# Remove executables and object files

Executables are placed in the bin/ directory.

GitHub Actions

A CI workflow is included to build all projects on push and pull requests using GitHub-hosted Ubuntu runners.

License

MIT License

Projects

A simple hello world program

It prints "Hello, World!"

A print program that prints two messages

This one prompts the user for an input, and prints said input.

This program prompts the user for its age, and checks if it's over or under 18 and prints a message accordingly.

This program does almost the same as print.asm, but uses a subroutine for it

Future Projects

  • Robust string-to-integer parser with validation
  • Simple calculator with multiple operations
  • Countdown timer with loop-based delay
  • Echo program that loops until "exit" is typed
  • Lowercase to uppercase converter
  • Password checker with hardcoded credentials
  • Formatted output in hexadecimal or binary
  • Factorial and Fibonacci implementations

About

A collection of simple assembly projects

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published