https://github.com/blaz-r/sic-xe-assembler
SIC/XE two pass assembler written in Rust
https://github.com/blaz-r/sic-xe-assembler
assembler assembly assembly-language rust sic sic-xe sic-xe-assembler two-pass-assembler
Last synced: about 1 month ago
JSON representation
SIC/XE two pass assembler written in Rust
- Host: GitHub
- URL: https://github.com/blaz-r/sic-xe-assembler
- Owner: blaz-r
- License: mit
- Created: 2022-02-08T12:05:13.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-02-08T17:07:57.000Z (over 4 years ago)
- Last Synced: 2025-05-14T01:59:11.470Z (about 1 year ago)
- Topics: assembler, assembly, assembly-language, rust, sic, sic-xe, sic-xe-assembler, two-pass-assembler
- Language: Rust
- Homepage:
- Size: 17.6 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SIC-XE-assembler
SIC/XE two pass assembler written in Rust
## Usage
- move into folder "assembler"
- run with: ```cargo run ""```
Example:
```cargo run "../asm_files/isort.asm"```
.obj files will be created inside assembler folder.
Run instruction compiles and runs code, you could of course compile and run separately.
Errors in asm code are reported with line number and problem message.
## Executing .obj files
You can use my [SIC/XE simulator](https://github.com/blaz-r/SIC-XE-simulator) to execute .obj files, or you can use [SicTools](https://github.com/jurem/SicTools) that is more advanced.
## Supported functions
- almost all instructions
- directives START, END, ORG and EQU
- directives BASE and NOBASE
- symbol resolution
- object code (.obj) generation with H, E, T and simplified M records
- nice output of combined object and assembly code (.lst)
- arbitrary expressions with +, -, * and / in EQU directive
### Contributing
Assembler should work fine in most cases, but some bugs surely exist in the code due it being quite a large project. If you find any, open an issue and/or pull request :)