Over the past few days I’ve been building a custom 32-bit CPU emulator in java that comes with its own assembler and instruction set. I started on the project for fun, and because I wanted to learn more about CPU architecture and compilers.
Highlights:
- 32-bit little-endian architecture with 32 general-purpose registers
- Custom assembly language
- Memory-mapped IO, stack and heap, ROM for syscalls, and RAM/VRAM simulation
- Malloc and Free implemented syscalls (not tested properly)
- 128×128 RGBA framebuffer + keyboard and console IO devices
- Instruction set includes arithmetic, logic, branches, system calls, and shifts
- Assembler supports labels, immediate values, register addressing, macros, but still expanding
I’d love to hear what you think about this project: ideas, critiques, or even some features you’d like to see added. Would really appreciate any tips, feedback, or things I could do better.
submitted by /u/ColdRepresentative91
[link] [comments]