Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jonathanvdc/dfasm
An assembler that uses regular expressions to lex instructions.
https://github.com/jonathanvdc/dfasm
Last synced: about 10 hours ago
JSON representation
An assembler that uses regular expressions to lex instructions.
- Host: GitHub
- URL: https://github.com/jonathanvdc/dfasm
- Owner: jonathanvdc
- Created: 2015-05-05T12:13:23.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-06-02T14:46:04.000Z (over 9 years ago)
- Last Synced: 2023-02-28T12:41:20.759Z (almost 2 years ago)
- Language: C#
- Size: 1.41 MB
- Stars: 1
- Watchers: 5
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dfasm
dfasm is an assembler that uses regular expressions to lex instructions.
It features an interactive REPL prompt, a COFF back-end, and a JIT engine (which is Windows only).## Requirements
The following tools are required for dfasm to be run.* [IronPython 2.7](http://ironpython.net/)
* A .Net Framework 4.5 implementation
* .Net Framework 4.5 on Windows (present by default on recent versions of Windows)
* [Mono](http://www.mono-project.com/download/#download-lin) on Linux or Mac OS X
## Invoking dfasm
You can open an interactive dfasm REPL prompt from the command line with:ipy dfasm.py
dfasm also takes several command line arguments:
-d Enable debugging output.
-repl -r Enable REPL mode (the default).
-jit -j Enable JIT mode.
-coff Output a COFF object file.
-com Output an MS-DOS COM file (experimental).Options specific to the `-coff` or `-com` modes:
-o: Set the output filename (the default is "a.o" or "a.com").
Options specific to the JIT engine:-arg: An argument to pass to the JIT'ed function.
-ret: The return type to expect from the JIT'ed function.## Optional tools
The following tools are not required, as they compile C# and D# source code for the .Net framework, which are included as libraries (`*.dll`) in the `src/dfasm/dfasm` folder. Thus, their usage is optional (but required when compiling said libraries yourself).* A C# 5 compiler
* csc or [Roslyn](https://github.com/dotnet/roslyn) on Windows
* [mcs](http://www.mono-project.com/docs/about-mono/languages/csharp/) on Mono
* A somewhat recent D# compiler
* [dsc](https://github.com/jonathanvdc/Flame/releases)