externer taktgeber
This commit is contained in:
@@ -116,7 +116,13 @@ namespace PIC_Simulator.PIC
|
||||
public Stack<uint> Stack = new Stack<uint>();
|
||||
public bool IsSleeping = false;
|
||||
|
||||
public List<int> Breakpoints = new List<int>();
|
||||
public List<int> Breakpoints = new List<int>();
|
||||
|
||||
public int TaktgeberFrequenz = 100000;
|
||||
public int TaktgeberZahler = 100000;
|
||||
public bool TaktgeberAktiviert = false;
|
||||
public uint TaktgeberAdresse = 0;
|
||||
public uint TaktgeberBitnummer = 0;
|
||||
|
||||
public PICProgramm()
|
||||
{
|
||||
@@ -210,12 +216,22 @@ namespace PIC_Simulator.PIC
|
||||
return binaryval;
|
||||
}
|
||||
|
||||
public bool Step()
|
||||
public bool Step(int frequenz)
|
||||
{
|
||||
if (PCCounter >= befehle.Count) return true;
|
||||
|
||||
PICBefehl aktueller_befehl = befehle[PCCounter];
|
||||
|
||||
if (TaktgeberAktiviert)
|
||||
{
|
||||
TaktgeberZahler += frequenz;
|
||||
if (TaktgeberZahler > TaktgeberFrequenz)
|
||||
{
|
||||
TaktgeberZahler = 0;
|
||||
SetRegisterOhneBank(TaktgeberAdresse, TaktgeberBitnummer, !GetRegisterOhneBank(TaktgeberAdresse, TaktgeberBitnummer));
|
||||
}
|
||||
}
|
||||
|
||||
if (IsSleeping) return false;
|
||||
|
||||
if (aktueller_befehl.befehl == ADDWF)
|
||||
|
Reference in New Issue
Block a user