Skip to content

lunduniversity/introprog-cpu-emulator

Repository files navigation

introprog-cpu-emulator

CPU emulator for teaching machine-level coding concepts.

c3pu

OBS - Only a template

Most of the text below is just a AI-generated placeholder. It will be updated soon™.

Overview

Welcome to c3pu, a lightweight, simulated computer environment designed to mimic basic computer operations. Our simulator, named for its playful resemblance to a certain talkative robot from a certain movie franshise, offers a simple interface to understand the core concepts of computing, including memory management, register operations, and basic data processing.

Features

  • Simulated CPU with basic registers.
  • Limited memory space for efficient operation learning.
  • Interactive program counter to track processing steps.
  • User-friendly interface for educational purposes.

Installation

c3pu is written in Java and does not require any installation. It comes as a single runnable jar file, meaning that on many systems you can simply double-click it to run. If that does not work, run it from a terminal, like this:

cd directory/where/you/downloaded/the/jar/file
java -jar c3pu.jar

Optionally, you can instead clone this repository and build the project yourself. To do this, start by cloning this project:

git clone git@github.com:lunduniversity/introprog-cpu-emulator.git
cd c3pu

Then build the project by executing the Gradle build script, like this (it is not required to install Gradle):

# on unix-based operating systems (Unix, Linux, MacOS)
./gradlew build

# on Windows
gradlew.bat build

Usage

Here's a quick guide on how to use c3pu:

  1. Start the simulator.
  2. Load your sample program or use the predefined examples.
  3. Execute and observe the behavior of the simulated CPU and memory.
// Code examples can be provided here

Contributing

Contributions to c3pu are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests to us.

License

This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.

Acknowledgments

Mention any inspirations, code snippets, etc. Remember to replace placeholders like git@git.cs.lth.se:courses/dod/c3pu.git and the license information with your specific details. Also, you can add or modify sections as your project evolves!