Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

HobbyOSs/gosk

Repository files navigation

GOSK

GOSK is an assembler project written in Go, designed to parse an assembly language similar to NASK (a language used in the "30 days self-made OS" book) and generate machine code (currently supporting COFF format). It utilizes PEG (Parsing Expression Grammar) for parsing.

Features

  • Parses NASK-like assembly code.
  • Generates COFF object files.
  • Includes a test suite for verification.

Build & Run

Requires Go and Make installed.

# Clone the repository (if you haven't already)
# git clone https://github.com/HobbyOSs/gosk.git
# cd gosk
# Build the executable
make build
# Or install directly (might require setting up GOPATH/GOBIN)
# Note: This installs the command to your $GOPATH/bin or $GOBIN
go install github.com/HobbyOSs/gosk/cmd/gosk@latest

Usage

# Display help message
./gosk --help
# Assemble a source file (e.g., input.nas) into an object file (e.g., output.o)
./gosk input.nas output.o
# Assemble and generate a listing file (e.g., output.lst)
./gosk input.nas output.o output.lst

The command-line interface is:

usage: ./gosk [--help | -v] source [object/binary] [list]
 source: Input assembly file (.nas)
 object/binary: Output object file (e.g., .o, .obj) or raw binary file (Optional, defaults based on source name)
 list: Output listing file (Optional)
 --help: Show this help message
 -v: Show version and license information

Contributing

Contributions are welcome! Please refer to the project's issue tracker and coding guidelines. (Details might be found in the memory-bank directory).

License

This project is licensed under the LICENSE file.

About

yet another assembly interpreter, like nask

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 3

Languages

AltStyle によって変換されたページ (->オリジナル) /