Skip to content

Latest commit

 

History

History
79 lines (54 loc) · 2.13 KB

README.md

File metadata and controls

79 lines (54 loc) · 2.13 KB

Assembly Programs

Table Of Contents

About

This repository contains miscellaneous programs written in assembly that can be assembled using nasm. By no means is my code efficient or follow reccomended practices.

Directory Structure

  • bin/: Where the assembled and linked programs will be emitted.
  • lib/: Utility functions
  • src/: The actual source files for the programs

Assembling

  1. First of all, you need a Unix-like system to run these programs (assembly is not very cross-platform). Note that only macOS has been tested.

  2. You will also need nasm. See below for installation options.

    1. From the download page
    2. Via a package manager:
    # macOS
    brew install nasm
    sudo port install nasm
    
    
    # Debian
    sudo apt-get install nasm
    
    # Arch
    sudo pacman -S nasm
  3. GCC Compiler tools (for make and ld)

    1. On macOS, install Xcode or 'the command line tools'.
    2. On Linux install gcc.
      1. Debian based systems: sudo apt-get install gcc
  4. Finally, to assemble and link the programs, run ./build.sh which just invokes the Makefile

Now in the bin directory, you should see various programs (depending on your machine's architecture).

Resources

The resources and tutorials I used to learn assembly.

Nasm Documentation

x32

x64