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
literal 0
HcmV?d00001
diff --git a/out/production/JavaComputer/Instructions.class b/out/production/JavaComputer/Instructions.class
new file mode 100644
index 0000000000000000000000000000000000000000..37e46ac9bac0f61fef12891a3b456d38794673ea
GIT binary patch
literal 1943
zcmY+^*;dm~6b9fOpe
z{wFuhh&Jg*KXp-ehR*j^!7i;7m`vKW(;RZTE)S&d7|DqdDF
zo$%)-JCe1OXw@%QrX^){PxR{kO1&dl%ZOd+d=~#94H==skFpB&=1PU6KO^T`PT9u|
zbJ?8Vo=4f+F}Xtpd>iwcw^>Dn0-90OyuB^~x~7_%*hW*l?xgo_{W*s+!WciYyeKc|
zM->^dt|}tcxbmGlk`e2&@v5^|Mjdw&)^mbo2UnX;WyHE1d_W`XeZZPRJ<;Y7W)JC3
z!#3Jy6}wfmDs?2Idb4WPO{?Vy%dp2ib#N>Pb$(2@@F0a|yH&O0j#xRui!0*P(-ej9
zV?eY)6Vyljgr|bKC=3rU55hyt!|(|6C_KhI4qs=!0pDc41y3;FhVC%mh3_%nhaWIc
z!c)xC@C@@TJjXl_FEB5{OU%pgL*_^DW9Ah&!n_KvF|WfL%unE_%+KKG%rD?g=9lmm
z^EUj7`8E88c?VXRci|{=4Az+AaDq7rr3~oP+n7^KgN=2$z^m_$~7R
z{EqoO{DJu+{E7K9TxLFmE#?YbWj=y!=41GT`4o1TYw#E5I()|5fSb%;aZ>QRLqS}>
m;lxBd69txkk@C|!LM>cHnecaxYuNigKrXet>;l&=`u-mxy!ML#
literal 0
HcmV?d00001
diff --git a/out/production/JavaComputer/JavaComputer.iml b/out/production/JavaComputer/JavaComputer.iml
new file mode 100644
index 0000000..b107a2d
--- /dev/null
+++ b/out/production/JavaComputer/JavaComputer.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/out/production/JavaComputer/README.md b/out/production/JavaComputer/README.md
new file mode 100644
index 0000000..97c6120
--- /dev/null
+++ b/out/production/JavaComputer/README.md
@@ -0,0 +1,29 @@
+# JavaComputer
+
+## A computer in java (duh)
+
+## Features as of now:
+ *Fully functional CPU with memory\
+ *Fully function Instructionset, containing Moving, arithmetics, logical, branching, stack manipulation, and function call instructions\
+ *Preserves registers by itself on the stack when calling subroutines, so no need to preserve them yourself
+## Coming soon:
+Own assembler!\
+Memory mapped IO!
+# Instalation:
+(not tested, so if this doesn't work shoot me a message)
+1. Create a new project in IntelliJ
+2. Create 4 new files, named according to the files in this git repository
+3. Copy-paste the content into the files
+4. Run the project, with the CPU's main class being the main function\
+
+You can make your own 'Program' by modifying the bytecode being written in main.
+## Some other info
+I made this in the freshmen discord server, along with some other people in a call. We spent 6 hours total on this as of now, consisting of a 2 hour chunk (before a lecture) and another 4 hour chunk (after that lecture).\
+Both sittings were recorded and uploaded to youtube, so to see us messing around in java and building it from scratch, you can visit these links: https://youtu.be/PAJS4On2_fg and https://youtu.be/-G-1VTyQ5A8 \
+\
+As for now, we've also made and tested some code in it, for example a power function, which worked flawlessly.\
+I also managed to get a true recursive factorial function working, which was pretty neat.
+### Contact:
+@jurrejelle on telegram, instagram, twitter, github\
+jurrejelle#4936 on discord\
+jurre@jilles.com on email, but might reply slowly
diff --git a/out/production/JavaComputer/Registers.class b/out/production/JavaComputer/Registers.class
new file mode 100644
index 0000000000000000000000000000000000000000..d232de3f9301d7c69fd39d7c7ed765696261abf2
GIT binary patch
literal 621
zcmYk4%T59@6o&uKa1j_T;uY_B1vDZ%iN=K_u81aT*ms5oOK>pEV0bN8CN6vcAIf-6
zV@NkA-*?Wm>EF)J@7FhgHqNqe;HHuAkVHzLG?eeMIg;U^`QQDTQPb*SST0k>A~
zrLiE8c~k=(#cC2!Q^}ctxE08E#$go8Fz(6GRJpW0cR%o=Pl<`}hE
zopN^^$Wc#DH2Z%u5x;0kmFvzUUI}EM#?wil?ldne%qQo3SEwRQR|w=$K?YgMoFjAK
zk>@QhkQXg4kuO?aCSS6AnS90aRq{2<*U2lEZ;)+TzD2%m`40K6<$L5+%lF9-EI*_q
nf`1CCN0g{(97r}kAwEpRW2!vnhd!a|8BU^xy6H8jIyn6Up214{
literal 0
HcmV?d00001