diff --git a/de/darkress/pic16f84sim/commands/Xorlw.java b/de/darkress/pic16f84sim/commands/Xorlw.java new file mode 100644 index 0000000..a3e21af --- /dev/null +++ b/de/darkress/pic16f84sim/commands/Xorlw.java @@ -0,0 +1,22 @@ +package de.darkress.pic16f84sim.commands; + +import de.darkress.pic16f84sim.microcontroller.Memory; + +public class Xorlw extends CommandUtils implements Command +{ + private final int literal; + + public Xorlw(int input) + { + literal = input & 0x00FF; + } + @Override + public void execute() + { + int result = literal ^ Memory.workingRegister; + + checkZeroBit(result); + + Memory.workingRegister = result % 256; + } +} diff --git a/de/darkress/pic16f84sim/microcontroller/ProgramCounter.java b/de/darkress/pic16f84sim/microcontroller/ProgramCounter.java index 7085d95..196d02e 100644 --- a/de/darkress/pic16f84sim/microcontroller/ProgramCounter.java +++ b/de/darkress/pic16f84sim/microcontroller/ProgramCounter.java @@ -15,4 +15,9 @@ public class ProgramCounter { ProgramCounter.PC = PC; } + + public static void incPC() + { + PC++; + } }