https://github.com/rami-sabbagh/asm-19
ASM-19 is a fantasy assembly language which has been created during the lockdown days of the COVID-19 virus.
https://github.com/rami-sabbagh/asm-19
16-bit assembler assembly emulator fantasy isa language machine virtual-machine
Last synced: 5 months ago
JSON representation
ASM-19 is a fantasy assembly language which has been created during the lockdown days of the COVID-19 virus.
- Host: GitHub
- URL: https://github.com/rami-sabbagh/asm-19
- Owner: Rami-Sabbagh
- License: mit
- Created: 2020-03-21T22:02:36.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-06-02T20:17:49.000Z (over 4 years ago)
- Last Synced: 2025-04-03T09:21:32.190Z (7 months ago)
- Topics: 16-bit, assembler, assembly, emulator, fantasy, isa, language, machine, virtual-machine
- Homepage:
- Size: 76.2 KB
- Stars: 6
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ASM-19
ASM-19 is a "fantasy" instruction set architecture, which is never made to be built into real hardware.
## Implementations
- [implementation-01](https://github.com/Rami-Sabbagh/ASM-19/tree/implementation-01)
- [implementation-02](https://github.com/Rami-Sabbagh/ASM-19/tree/implementation-02)## Motivation
It was made as a challenge project during the lockdown days of the COVID-19 virus inorder to pass time.
## Objectives
- Create a set of instructions, which must be [turing complete / computationally universal](https://en.wikipedia.org/wiki/Turing_completeness), so it can "simulate any Turing machine" like our personal computers.
- Create a text format for representing a program.
- Define the architecture of a virtual processor which:
- Runs the ASM-19 instructions.
- Stores the program instructions using a binary format in memory.- Create an assembler which assembles programs from the text format into the binary format, as memory images for the virtual processor.
- Create an emulator of the virtual processor that can load and run the memory images.
## Gained values
- Learnt much deeper low-level knowledge on how a real machine is built.
- Learnt how assemblers and emulators can be made.
- Respect the huge architectural work done on computers.