|
@@ -199,15 +199,34 @@ public class SPSAssembler {
|
|
|
|
|
|
if (outputFormat.equals(FORMAT.HEX)) {
|
|
|
outputHEX();
|
|
|
- }
|
|
|
- if (outputFormat.equals(FORMAT.TPSTXT)) {
|
|
|
+ } else if (outputFormat.equals(FORMAT.TPSTXT)) {
|
|
|
outputTPSTXT();
|
|
|
+ } else if (outputFormat.equals(FORMAT.HEXTXT)) {
|
|
|
+ outputHEXTXT();
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private static void outputHEXTXT() {
|
|
|
+ try (Writer writer = new BufferedWriter(new FileWriter(destinationFile))) {
|
|
|
+ int address = 0;
|
|
|
+ for (Mnemonic mnemonic : mnemonics) {
|
|
|
+ writer.write(String.format("%02x", mnemonic.getByte()));
|
|
|
+ address++;
|
|
|
+ if ((address % 8) == 0) {
|
|
|
+ writer.write("\r\n");
|
|
|
+ } else {
|
|
|
+ writer.write(" ");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } finally {
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private static void outputTPSTXT() {
|
|
|
try (Writer writer = new BufferedWriter(new FileWriter(destinationFile))) {
|
|
|
writer.write("Addr BD Befehl Daten Kommentar\r\n");
|
|
@@ -218,7 +237,6 @@ public class SPSAssembler {
|
|
|
writer.write(String.format("0x%03x %02x %4s %4s %s %s\r\n", address, mnemonic.getByte(),
|
|
|
nibbleToString(highNibble), nibbleToString(lowNibble), mnemonic.getName(),
|
|
|
StringUtils.isEmpty(mnemonic.getArgument()) ? "" : mnemonic.getArgument()));
|
|
|
- mnemonic.getByte();
|
|
|
address++;
|
|
|
}
|
|
|
} catch (IOException e) {
|