# CFD-16 Instruction Set Architecture
CFD-16 is an Instruction Set Architecture designed for a processor of the
same name. The ISA is based on RISC principles and has a 16-bit datapath
and a 24-bit address space. The architecture does not provide for virtual
memory, instead using protected segments to disallow user processes from
accessing kernel resources.
## Assembly
```asm
.global _start
.extern itoa
.extern puts
.data
value: .word 240
.text
_start:
mov %b, value
ldr %a, (%b)
mul %a, %a
jsr itoa
jsr puts
str %a, (%b)
sc 0
```
## Task Board
- More exhaustive testing
- Code quality reviews
- cfd16-objdump development
- cfd16-emu development
## Contributing
The CFD-16 project is open to anyone's contribution, whether for source
code, documentation, or even just ideas. Feel free to reach out through
Codeberg's own mechanisms or through email.
## Licensing
All of the source code written for the CFD-16 project is licensed under
the GNU GPLv3 or later versions thereof. However, submodules included in
the repository may be third-party and thus fall under another license.
Documentation for the project is licensed under CC BY-SA 4.0.