Abgabe
This commit is contained in:
@ -488,7 +488,7 @@ public class Commands {
|
|||||||
}
|
}
|
||||||
DataRegister.determineZeroFlag(result);
|
DataRegister.determineZeroFlag(result);
|
||||||
DataRegister.determineCarryFlag(result);
|
DataRegister.determineCarryFlag(result);
|
||||||
DataRegister.determineDigitCarryFlag(result);
|
DataRegister.determineDigitCarryFlag((wRegister&0b11101111) & (DataRegister.getRegister(file)&0b1111));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -500,7 +500,7 @@ public class Commands {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
DataRegister.determineCarryFlag(result);
|
DataRegister.determineCarryFlag(result);
|
||||||
DataRegister.determineDigitCarryFlag(result);
|
DataRegister.determineDigitCarryFlag((wRegister&0b11101111) + (DataRegister.getRegister(file)&0b1111));
|
||||||
}
|
}
|
||||||
if (destination == 0) {
|
if (destination == 0) {
|
||||||
wRegister = result & 0xFF;
|
wRegister = result & 0xFF;
|
||||||
@ -533,7 +533,7 @@ public class Commands {
|
|||||||
wRegister = result & 0xFF;
|
wRegister = result & 0xFF;
|
||||||
DataRegister.determineZeroFlag(result);
|
DataRegister.determineZeroFlag(result);
|
||||||
DataRegister.determineCarryFlag(result);
|
DataRegister.determineCarryFlag(result);
|
||||||
DataRegister.determineDigitCarryFlag(result);
|
DataRegister.determineDigitCarryFlag((wRegister&0b11101111) + (literal&0b1111));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void RETLW(int literal) {
|
public static void RETLW(int literal) {
|
||||||
|
|||||||
@ -44,6 +44,9 @@ public class DataRegister {
|
|||||||
dataRegister[TRISB] = 0b11111111;
|
dataRegister[TRISB] = 0b11111111;
|
||||||
dataRegister[0x80 + PCLATH] = dataRegister[PCLATH];
|
dataRegister[0x80 + PCLATH] = dataRegister[PCLATH];
|
||||||
dataRegister[0x80 + INTCON] = dataRegister[INTCON];
|
dataRegister[0x80 + INTCON] = dataRegister[INTCON];
|
||||||
|
carryFlag = 0;
|
||||||
|
zeroFlag = 0;
|
||||||
|
digitCarryFlag = 0;
|
||||||
IOPorts.resetTRIS();
|
IOPorts.resetTRIS();
|
||||||
System.out.println(Arrays.toString(dataRegister));
|
System.out.println(Arrays.toString(dataRegister));
|
||||||
}
|
}
|
||||||
@ -294,7 +297,7 @@ public class DataRegister {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void determineDigitCarryFlag(int result){
|
public static void determineDigitCarryFlag(int result){
|
||||||
if (result > 0xF){
|
if (result >> 4 == 1){
|
||||||
setDigitCarryFlag(1);
|
setDigitCarryFlag(1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@ -22,7 +22,7 @@ public class Table {
|
|||||||
//Tabelle aktualisieren
|
//Tabelle aktualisieren
|
||||||
|
|
||||||
private static final int NUM_COLUMNS = 8; // Anzahl der Spalten
|
private static final int NUM_COLUMNS = 8; // Anzahl der Spalten
|
||||||
private static final double TABLE_WIDTH = 420; // Breite der TableView
|
private static final double TABLE_WIDTH = 425; // Breite der TableView
|
||||||
private static final double TABLE_HEIGHT = 600; // Höhe der TableView
|
private static final double TABLE_HEIGHT = 600; // Höhe der TableView
|
||||||
|
|
||||||
private static String formatHex(String s) {
|
private static String formatHex(String s) {
|
||||||
@ -90,17 +90,16 @@ public class Table {
|
|||||||
Label spacing = new Label(" ");
|
Label spacing = new Label(" ");
|
||||||
Label spacing2 = new Label(" ");
|
Label spacing2 = new Label(" ");
|
||||||
Label wRegisterLabel = new Label("W-Register: 0x" + formatHex(Integer.toHexString(Commands.get_wRegister()).toUpperCase()));
|
Label wRegisterLabel = new Label("W-Register: 0x" + formatHex(Integer.toHexString(Commands.get_wRegister()).toUpperCase()));
|
||||||
Label cLabel = new Label("Carry: 0x" + formatHex(Integer.toHexString(DataRegister.getCarryFlag())));
|
Label cLabel = new Label("Carry-Flag: " + DataRegister.getCarryFlag());
|
||||||
Label dcLabel = new Label("Digit-Carry: 0x" + formatHex(Integer.toHexString(DataRegister.getDigitCarryFlag())));
|
Label dcLabel = new Label("DigitCarry-Flag: " + DataRegister.getDigitCarryFlag());
|
||||||
Label zLabel = new Label("Zero-Flag: 0x" + formatHex(Integer.toHexString(DataRegister.getZeroFlag())));
|
Label zLabel = new Label("Zero-Flag: " + DataRegister.getZeroFlag());
|
||||||
Label pcLabel = new Label("PC: 0x" + formatHex(Integer.toHexString(DataRegister.getPC()).toUpperCase()));
|
Label pcLabel = new Label("PC: 0x" + formatHex(Integer.toHexString(DataRegister.getPC()).toUpperCase()));
|
||||||
Label pclLabel = new Label("PCL: 0x" + formatHex(Integer.toHexString(DataRegister.getRegister(DataRegister.getPCL())).toUpperCase()));
|
Label pclLabel = new Label("PCL: 0x" + formatHex(Integer.toHexString(DataRegister.getRegister(DataRegister.getPCL())).toUpperCase()));
|
||||||
Label pclathLabel = new Label("PCLATH: 0x" + formatHex(Integer.toHexString(DataRegister.getRegister(DataRegister.getPCLATH())).toUpperCase()));
|
Label pclathLabel = new Label("PCLATH: 0x" + formatHex(Integer.toHexString(DataRegister.getRegister(DataRegister.getPCLATH())).toUpperCase()));
|
||||||
Label statusLabel = new Label("STATUS: 0b" + formatBin(Integer.toBinaryString(DataRegister.getRegister(DataRegister.getSTATUS())))+ " (0x" + formatHex(Integer.toHexString(DataRegister.getRegister(DataRegister.getSTATUS())).toUpperCase()) + ")");
|
Label statusLabel = new Label("STATUS: 0b" + formatBin(Integer.toBinaryString(DataRegister.getRegister(DataRegister.getSTATUS())))+ " (0x" + formatHex(Integer.toHexString(DataRegister.getRegister(DataRegister.getSTATUS())).toUpperCase()) + ")");
|
||||||
Label fsrLabel = new Label("FSR: 0x" + formatHex(Integer.toHexString(DataRegister.getRegister(DataRegister.getFSR())).toUpperCase()));
|
Label fsrLabel = new Label("FSR: 0x" + formatHex(Integer.toHexString(DataRegister.getFSR()).toUpperCase()));
|
||||||
Label prescalerLabel = new Label("Prescaler: 0x" + formatHex(Integer.toHexString(PreScaler.getScaler())).toUpperCase());
|
Label prescalerLabel = new Label("Prescaler: 0x" + formatHex(Integer.toHexString(PreScaler.getScaler())).toUpperCase());
|
||||||
Label intconLabel = new Label("INTCON: 0b" + formatBin(Integer.toBinaryString(DataRegister.getRegister(DataRegister.getINTCON()))) + " (0x" + formatHex(Integer.toHexString(DataRegister.getRegister(DataRegister.getINTCON())).toUpperCase()) + ")");
|
Label intconLabel = new Label("INTCON: 0b" + formatBin(Integer.toBinaryString(DataRegister.getRegister(DataRegister.getINTCON()))) + " (0x" + formatHex(Integer.toHexString(DataRegister.getRegister(DataRegister.getINTCON())).toUpperCase()) + ")");
|
||||||
|
|
||||||
wRegisterLabel.setStyle("-fx-font-weight: bold");
|
wRegisterLabel.setStyle("-fx-font-weight: bold");
|
||||||
pcLabel.setStyle("-fx-font-weight: bold");
|
pcLabel.setStyle("-fx-font-weight: bold");
|
||||||
statusLabel.setStyle("-fx-font-weight: bold");
|
statusLabel.setStyle("-fx-font-weight: bold");
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
<AnchorPane stylesheets="@styles.css" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fabrik.simulator.pic16f84.Controller_Frontend">
|
<AnchorPane stylesheets="@styles.css" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fabrik.simulator.pic16f84.Controller_Frontend">
|
||||||
|
|
||||||
<children>
|
<children>
|
||||||
<ListView fx:id="lstContentListView" layoutY="31.0" prefHeight="645.0" prefWidth="550.0">
|
<ListView fx:id="lstContentListView" layoutY="31.0" prefHeight="645.0" prefWidth="600.0">
|
||||||
|
|
||||||
</ListView>
|
</ListView>
|
||||||
<HBox layoutY="688.0" prefHeight="24.0" prefWidth="550.0">
|
<HBox layoutY="688.0" prefHeight="24.0" prefWidth="550.0">
|
||||||
|
|||||||
Reference in New Issue
Block a user