All Projects → Jackojc → 8BitComputer

Jackojc / 8BitComputer

Licence: MIT license
A simple 8 bit computer emulator in C++.

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to 8BitComputer

Plotty
C language compiler from scratch for a custom architecture, with virtual machine and all
Stars: ✭ 33 (+83.33%)
Mutual labels:  virtual-machine
misp-vagrant
Deploy MISP Project software with Vagrant.
Stars: ✭ 37 (+105.56%)
Mutual labels:  virtual-machine
R8051
8051 soft CPU core. 700-lines statements for 111 instructions . Fully synthesizable Verilog-2001 core.
Stars: ✭ 70 (+288.89%)
Mutual labels:  8bit
ugo
Script Language for Go
Stars: ✭ 75 (+316.67%)
Mutual labels:  virtual-machine
nautilus
Nautilus Aerokernel
Stars: ✭ 30 (+66.67%)
Mutual labels:  virtual-machine
gorilla-cpm
GORILLA.BAS port to CP/M in Turbo Modula-2. Supported terminals: VT52, VT100, ANSI, ADM-31, KayPro, C128, Memotech monochrome, CPC / Zenith Z19
Stars: ✭ 45 (+150%)
Mutual labels:  8bit
KinoEight
8 bit-ish style post-processing effect for Unity
Stars: ✭ 112 (+522.22%)
Mutual labels:  8bit
vagrant-dspace
(No longer actively maintained. Replaced by Docker compose in main codebase.) DSpace + Vagrant. Quickly spin up a virtual machine (via Vagrant) which is "DSpace development ready"
Stars: ✭ 37 (+105.56%)
Mutual labels:  virtual-machine
lip
An embeddable LISP in C99
Stars: ✭ 16 (-11.11%)
Mutual labels:  virtual-machine
LittleSixteen
Commodore 16 schematics and PCB, redrawn in Kicad
Stars: ✭ 26 (+44.44%)
Mutual labels:  8bit
qubes-video-companion
Securely stream webcams and share screens across virtual machines *THIS PROJECT IS CURRENTLY STILL IN DEVELOPMENT (Mostly finishing switch to MJPEG for big performance boost; see FAQ)*
Stars: ✭ 38 (+111.11%)
Mutual labels:  virtual-machine
vmSafeguard
vmSafeguard is a management, planning, backup system for a Vmware ESXi(s) solution, orchestrated through a Web Admin Panel. RTFM for more info. Under develop since Jun 2020
Stars: ✭ 20 (+11.11%)
Mutual labels:  virtual-machine
MarsAnalytica
My RE challenge from Northsec 2018.
Stars: ✭ 14 (-22.22%)
Mutual labels:  virtual-machine
wasm-joey
Serverless Wasm - A lightweight Node.js application for deploying and executing WebAssembly(Wasm) binary-code via HTTP
Stars: ✭ 48 (+166.67%)
Mutual labels:  virtual-machine
jingle
🔔 Jingle is a dynamically-typed, multi-paradigm programming language designed for humans and machines.
Stars: ✭ 34 (+88.89%)
Mutual labels:  virtual-machine
jMiniLang
用Kotlin实现的编译器和虚拟机,并在此基础上构建操作系统。
Stars: ✭ 62 (+244.44%)
Mutual labels:  virtual-machine
haneul
누리 프로그래밍 언어의 RPython 백엔드입니다.
Stars: ✭ 19 (+5.56%)
Mutual labels:  virtual-machine
kcs
Scripting in C with JIT(x64)/VM.
Stars: ✭ 25 (+38.89%)
Mutual labels:  virtual-machine
Core
Free, easy to setup PBX for small business based on Asterisk 16 core
Stars: ✭ 190 (+955.56%)
Mutual labels:  virtual-machine
Animach
Scheme语言实现和运行时环境 / A Scheme runtime & implementation
Stars: ✭ 45 (+150%)
Mutual labels:  virtual-machine

8BitComputer

Simple 8 bit computer emulator.

  • 16 general purpose registers.
  • 256 bytes of addressable memory.
  • 31 instructions.
NOP / []                  / No operation.

LDA / [ADDR]              / Load value at [ADDR] into A.
LDB / [ADDR]              / Load value at [ADDR] into B.
LDG / [ADDR]              / Load value at [ADDR] into G.

STC / [ADDR]              / Store value in C to [ADDR].
STG / [ADDR]              / Store value in G to [ADDR].

CLA / []                  / Clear register A.
CLB / []                  / Clear register B.
CLG / []                  / Clear register G.
CLF / []                  / Clear register FLAGS.

EMT / [ADDR]              / Emit value at [ADDR] to the output device(terminal) as a raw value.
PRT / [ADDR]              / Print a value at [ADDR] to the output device(terminal) as an ASCII value.

CMP / []                  / Store the resulting bool from A == B and store it in REGISTER_FLAGS.

INC / [VAL]               / Increment value in A by [VAL].
DEC / [VAL]               / Decrement value in A by [VAL].

LSH / [BITS]              / Shift value in A to the left by [BITS] and store result in A.
RSH / [BITS]              / Shift value in A to the right by [BITS] and store result in A.

ADD / []                  / Add A and B together then store the result in A.
SUB / []                  / Sub B from A then store the result in A.
MUL / []                  / Multiply A by B then store the result in A.
DIV / []                  / Divide A by B then store the result in A.
NEG / []                  / Negate A and then store the result in A.

AND / []                  / AND A and B together then store the result in A.
OR  / []                  / OR A and B together then store the result in A.
NOT / []                  / NOT A then store the result in A.

NUL / [ADDR]              / Set value at [ADDR] to null.

JMP / [ADDR]              / Set the program counter to [ADDR].
JMR / [ADDR]              / Set the program counter to current address + [ADDR].

JIN / [ADDR]              / Set the program counter to [ADDR] if FLAGS is false.
JIE / [ADDR]              / Set the program counter to [ADDR] if FLAGS is true.

HLT / []                  / Halt the CPU.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].