Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/denver-code/pc_simulation_web
Basic web app that will simulate some of the flows on computer like CPU, RAM and ASM-like instructions
https://github.com/denver-code/pc_simulation_web
asm cpu ram
Last synced: 3 days ago
JSON representation
Basic web app that will simulate some of the flows on computer like CPU, RAM and ASM-like instructions
- Host: GitHub
- URL: https://github.com/denver-code/pc_simulation_web
- Owner: denver-code
- Created: 2025-01-28T23:30:33.000Z (17 days ago)
- Default Branch: master
- Last Pushed: 2025-01-29T00:17:03.000Z (17 days ago)
- Last Synced: 2025-01-29T01:20:26.530Z (17 days ago)
- Topics: asm, cpu, ram
- Language: TypeScript
- Homepage: https://asm.savenko.tech
- Size: 54.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PC Simulation
Based on [this Rust project of mine](https://github.com/denver-code/pc_simulation_rs)Basic web app that will simulate some of the flows on computer, including:
- RAM (`256 bytes`) - can be read, written and dumped for inspection.
Addressed via hexadecimal addressed.Each memory cell is 8 bits (1 byte) wide
- CPU - 8-bit CPU with 8 general-purpose registers.
ATM asm-like code directly executed by the CPU, I'm not sure how it supposed to be.CPU supports `8 general-purpose 8-bit` registers to hold data during execution.
- More on the way, but it's still area for a research.Simulation has option to write simple assembly-like programs with small set of instructions:
- `VER` - Toggle verbosity to enable/disable detailed execution logs.
- `MOV QMOV` - Assingning RAM/Another Register's/Immediate Value to the register or memory.
- `INIT` - Initialize memory addresses with values.
- `ADD SUB MUL DIV` - basic arythemitcs
- `OUT` - Output register or memory/values.
- `CLEAR` - Clear the register or memory
- `HALT` - Stop the execution.
- `IF/ELSE` - If and else statement that supports basic operations between registers, memory and values.Read docs on the website for more information and examples.
## Getting Started
```bash
git clone https://github.com/denver-code/pc_simulation_web
cd pc_simulation_web
npm install
npm run dev
```Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.