From 769c37e5f3709e2e177fea24fe1c7b909a2c5883 Mon Sep 17 00:00:00 2001 From: DarkressX <30271678+DarkressX@users.noreply.github.com> Date: Mon, 29 May 2023 00:25:37 +0200 Subject: [PATCH] implemented PC (#11) --- de/darkress/pic16f84sim/Main.java | 10 +++------- de/darkress/pic16f84sim/commands/Addlw.java | 2 +- de/darkress/pic16f84sim/commands/Andlw.java | 2 +- .../pic16f84sim/commands/CommandUtils.java | 2 +- de/darkress/pic16f84sim/commands/Iorlw.java | 2 +- de/darkress/pic16f84sim/commands/Movlw.java | 2 +- de/darkress/pic16f84sim/commands/Sublw.java | 2 +- .../{registers => microcontroller}/Memory.java | 2 +- .../microcontroller/ProgramCounter.java | 18 ++++++++++++++++++ .../{registers => microcontroller}/Stack.java | 2 +- 10 files changed, 29 insertions(+), 15 deletions(-) rename de/darkress/pic16f84sim/{registers => microcontroller}/Memory.java (98%) create mode 100644 de/darkress/pic16f84sim/microcontroller/ProgramCounter.java rename de/darkress/pic16f84sim/{registers => microcontroller}/Stack.java (94%) diff --git a/de/darkress/pic16f84sim/Main.java b/de/darkress/pic16f84sim/Main.java index 621c939..03cb934 100644 --- a/de/darkress/pic16f84sim/Main.java +++ b/de/darkress/pic16f84sim/Main.java @@ -1,11 +1,6 @@ package de.darkress.pic16f84sim; -import de.darkress.pic16f84sim.commands.Command; -import de.darkress.pic16f84sim.decoder.CommandDecoder; -import de.darkress.pic16f84sim.registers.Memory; -import de.darkress.pic16f84sim.registers.Stack; - -import java.util.ArrayList; +import de.darkress.pic16f84sim.microcontroller.Stack; class Main { @@ -15,7 +10,8 @@ class Main int input1 = 0x3EFF; program.add(CommandDecoder.decode(input1)); program.get(0).execute(); - */ + */ + for(int i = 0; i < 8; i++) { diff --git a/de/darkress/pic16f84sim/commands/Addlw.java b/de/darkress/pic16f84sim/commands/Addlw.java index b14e93d..1532ac9 100644 --- a/de/darkress/pic16f84sim/commands/Addlw.java +++ b/de/darkress/pic16f84sim/commands/Addlw.java @@ -1,6 +1,6 @@ package de.darkress.pic16f84sim.commands; -import de.darkress.pic16f84sim.registers.Memory; +import de.darkress.pic16f84sim.microcontroller.Memory; public class Addlw extends CommandUtils implements Command { diff --git a/de/darkress/pic16f84sim/commands/Andlw.java b/de/darkress/pic16f84sim/commands/Andlw.java index 94ff44d..a4ff8a1 100644 --- a/de/darkress/pic16f84sim/commands/Andlw.java +++ b/de/darkress/pic16f84sim/commands/Andlw.java @@ -1,6 +1,6 @@ package de.darkress.pic16f84sim.commands; -import de.darkress.pic16f84sim.registers.Memory; +import de.darkress.pic16f84sim.microcontroller.Memory; public class Andlw extends CommandUtils implements Command { diff --git a/de/darkress/pic16f84sim/commands/CommandUtils.java b/de/darkress/pic16f84sim/commands/CommandUtils.java index 62ea17e..d43da2c 100644 --- a/de/darkress/pic16f84sim/commands/CommandUtils.java +++ b/de/darkress/pic16f84sim/commands/CommandUtils.java @@ -1,6 +1,6 @@ package de.darkress.pic16f84sim.commands; -import de.darkress.pic16f84sim.registers.Memory; +import de.darkress.pic16f84sim.microcontroller.Memory; public class CommandUtils { diff --git a/de/darkress/pic16f84sim/commands/Iorlw.java b/de/darkress/pic16f84sim/commands/Iorlw.java index 3ac7fd4..84842b7 100644 --- a/de/darkress/pic16f84sim/commands/Iorlw.java +++ b/de/darkress/pic16f84sim/commands/Iorlw.java @@ -1,6 +1,6 @@ package de.darkress.pic16f84sim.commands; -import de.darkress.pic16f84sim.registers.Memory; +import de.darkress.pic16f84sim.microcontroller.Memory; public class Iorlw extends CommandUtils implements Command { diff --git a/de/darkress/pic16f84sim/commands/Movlw.java b/de/darkress/pic16f84sim/commands/Movlw.java index 7f381f6..0c8d18c 100644 --- a/de/darkress/pic16f84sim/commands/Movlw.java +++ b/de/darkress/pic16f84sim/commands/Movlw.java @@ -1,6 +1,6 @@ package de.darkress.pic16f84sim.commands; -import de.darkress.pic16f84sim.registers.Memory; +import de.darkress.pic16f84sim.microcontroller.Memory; public class Movlw extends CommandUtils implements Command { diff --git a/de/darkress/pic16f84sim/commands/Sublw.java b/de/darkress/pic16f84sim/commands/Sublw.java index 247cdf4..39127ea 100644 --- a/de/darkress/pic16f84sim/commands/Sublw.java +++ b/de/darkress/pic16f84sim/commands/Sublw.java @@ -1,6 +1,6 @@ package de.darkress.pic16f84sim.commands; -import de.darkress.pic16f84sim.registers.Memory; +import de.darkress.pic16f84sim.microcontroller.Memory; public class Sublw extends CommandUtils implements Command { diff --git a/de/darkress/pic16f84sim/registers/Memory.java b/de/darkress/pic16f84sim/microcontroller/Memory.java similarity index 98% rename from de/darkress/pic16f84sim/registers/Memory.java rename to de/darkress/pic16f84sim/microcontroller/Memory.java index b3f6c54..6a6b729 100644 --- a/de/darkress/pic16f84sim/registers/Memory.java +++ b/de/darkress/pic16f84sim/microcontroller/Memory.java @@ -1,4 +1,4 @@ -package de.darkress.pic16f84sim.registers; +package de.darkress.pic16f84sim.microcontroller; import java.util.Arrays; diff --git a/de/darkress/pic16f84sim/microcontroller/ProgramCounter.java b/de/darkress/pic16f84sim/microcontroller/ProgramCounter.java new file mode 100644 index 0000000..7085d95 --- /dev/null +++ b/de/darkress/pic16f84sim/microcontroller/ProgramCounter.java @@ -0,0 +1,18 @@ +package de.darkress.pic16f84sim.microcontroller; + +public class ProgramCounter + + //This class is not actual part of the µC. It is a storage for the current value of the PC +{ + private static int PC = 0; + + public static int getPC() + { + return PC; + } + + public static void setPC(int PC) + { + ProgramCounter.PC = PC; + } +} diff --git a/de/darkress/pic16f84sim/registers/Stack.java b/de/darkress/pic16f84sim/microcontroller/Stack.java similarity index 94% rename from de/darkress/pic16f84sim/registers/Stack.java rename to de/darkress/pic16f84sim/microcontroller/Stack.java index 8c99ccb..79d054c 100644 --- a/de/darkress/pic16f84sim/registers/Stack.java +++ b/de/darkress/pic16f84sim/microcontroller/Stack.java @@ -1,4 +1,4 @@ -package de.darkress.pic16f84sim.registers; +package de.darkress.pic16f84sim.microcontroller; public class Stack