diff --git a/src/main/dig/processor/Control.dig b/src/main/dig/processor/Control.dig
index 3f7c38b92..1e9b2b2d3 100644
--- a/src/main/dig/processor/Control.dig
+++ b/src/main/dig/processor/Control.dig
@@ -375,20 +375,6 @@ realisiert, und nicht durch 24 einzelne Schaltnetze.
-
- Out
-
-
- Description
- return from interrupt
-
-
- Label
- reti
-
-
-
-
@@ -467,10 +453,6 @@ realisiert, und nicht durch 24 einzelne Schaltnetze.
-
-
-
-
diff --git a/src/main/dig/processor/ControlIntr.dig b/src/main/dig/processor/ControlIntr.dig
new file mode 100644
index 000000000..3f7c38b92
--- /dev/null
+++ b/src/main/dig/processor/ControlIntr.dig
@@ -0,0 +1,511 @@
+
+
+ 1
+
+
+ Description
+ Leitwerk für einen einfachen Prozessor.
+Es arbeitet rein kombinatorisch, es handelt sich
+also um ein einfaches Schaltwerk.
+Da es vergleichsweise komplex ist (24
+Ausgangsbits), wird es durch einen
+entsprechenden ROM-Baustein
+realisiert, und nicht durch 24 einzelne Schaltnetze.
+
+
+ Width
+ 5
+
+
+
+
+ In
+
+
+ Description
+ Der Opcode incl. Immediate Bit
+
+
+ Label
+ Op
+
+
+ Bits
+ 7
+
+
+
+
+
+ Splitter
+
+
+ Input Splitting
+ 7
+
+
+ Output Splitting
+ 6,1
+
+
+
+
+
+ Multiplexer
+
+
+ Bits
+ 6
+
+
+
+
+
+ Const
+
+
+ Value
+ 0
+
+
+ Bits
+ 6
+
+
+
+
+
+ ROM
+
+
+ Label
+ Logic
+
+
+ Bits
+ 24
+
+
+ Addr Bits
+ 6
+
+
+ Data
+ 0,200080,4004c0,4044c0,4008c0,4048c0,400cc0,4010c0,4014c0,c4,d4,4004c4,4004d4,4044c4,
+4044d4,4008c4,4008d4,4048c4,4048d4,400cc4,400cd4,4010c4,4010d4,4014c4,4014d4,402cc0,
+402cc4,402cd4,400800,400804,400814,4018c0,401cc0,4058c0,405cc0,4020c0,24c0,28c0,20040a,
+689,200006,20001e,85,95,200406,685,8018,10018,18018,28018,30018,38018,1a4,20,24,20018,
+240004,24001c,240408,80284,80294,80688,100000,800020
+
+
+ lastDataFile
+
+ /home/hneemann/Dokumente/DHBW/Technische_Informatik_II/Systemnahes_Programmieren/java/assembler3/control.dat
+
+
+
+
+
+
+ Const
+
+
+
+
+ Out
+
+
+ Description
+ Programm Counter in Register Speichern
+
+
+ Label
+ stPC
+
+
+
+
+
+ Splitter
+
+
+ Input Splitting
+ 24
+
+
+ Output Splitting
+ 1*2,3,1*5,5,3,1*6
+
+
+
+
+
+ Out
+
+
+ Description
+ Wert am Datenbus in Register speichern
+
+
+ Label
+ WE
+
+
+
+
+
+ Out
+
+
+ Description
+ Aktiviert das Speichern der Konstanten
+
+
+ rotation
+
+
+
+ Label
+ imm
+
+
+
+
+
+ Out
+
+
+ Description
+ absoluten Sprung auslösen
+
+
+ Label
+ absJmp
+
+
+
+
+
+ Out
+
+
+ Description
+ Selektor für Mux B
+
+
+ Label
+ muxB
+
+
+ Bits
+ 3
+
+
+
+
+
+ Out
+
+
+ Description
+ SourceRegister auf Datenbus legen
+
+
+ Label
+ srcToD
+
+
+
+
+
+ Out
+
+
+ Description
+ Selector für Mux A
+
+
+ Label
+ muxA
+
+
+
+
+
+ Out
+
+
+ Description
+ ALU auf den Datenbus legen
+
+
+ Label
+ ALUToBus
+
+
+
+
+
+ Out
+
+
+ Description
+ Operation der ALU
+
+
+ Label
+ ALUop
+
+
+ Bits
+ 5
+
+
+
+
+
+ Out
+
+
+ Description
+ Wenn gesetzt führt die ALU eine arithmetische Operation aus, so dass die Flags gespeichert werden müssen.
+
+
+ Label
+ storeFlags
+
+
+
+
+
+ Out
+
+
+ Description
+ Art des bedingten Sprunges
+
+
+ Label
+ Branch
+
+
+ Bits
+ 3
+
+
+
+
+
+ Out
+
+
+ Description
+ Ram speichert Daten vom Datenbus
+
+
+ Label
+ st
+
+
+
+
+
+ Out
+
+
+ Description
+ Ram gibt Daten auf den Datenbus
+
+
+ Label
+ ld
+
+
+
+
+
+ Break
+
+
+ Cycles
+ 600000
+
+
+ Label
+ Break
+
+
+
+
+
+ Out
+
+
+ Description
+ Es wird auf die IO geschrieben
+
+
+ Label
+ ioW
+
+
+
+
+
+ Out
+
+
+ Description
+ Es wird IO gelesen
+
+
+ Label
+ ioR
+
+
+
+
+
+ PullDown
+
+
+ Bits
+ 24
+
+
+
+
+
+ Out
+
+
+ Description
+ return from interrupt
+
+
+ Label
+ reti
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/dig/processor/ProcessorIntr.dig b/src/main/dig/processor/ProcessorIntr.dig
index a6400b434..2b4ca85cf 100644
--- a/src/main/dig/processor/ProcessorIntr.dig
+++ b/src/main/dig/processor/ProcessorIntr.dig
@@ -14,16 +14,6 @@ An dieser Adresse muss sich die ISR befinden.
-
- Control.dig
-
-
- rotation
-
-
-
-
-
Register.dig
@@ -1283,6 +1273,16 @@ An dieser Adresse muss sich die ISR befinden.
+
+ C:/_daten/sourcen/digital/src/main/dig/processor/ControlIntr.dig
+
+
+ rotation
+
+
+
+
+
diff --git a/src/test/java/de/neemann/digital/integration/TestExamples.java b/src/test/java/de/neemann/digital/integration/TestExamples.java
index f1bb1b1d1..06ac9c56c 100644
--- a/src/test/java/de/neemann/digital/integration/TestExamples.java
+++ b/src/test/java/de/neemann/digital/integration/TestExamples.java
@@ -28,7 +28,7 @@ public class TestExamples extends TestCase {
*/
public void testDistExamples() throws Exception {
File examples = new File(Resources.getRoot().getParentFile().getParentFile(), "/main/dig");
- assertEquals(92, new FileScanner(this::check).scan(examples));
+ assertEquals(93, new FileScanner(this::check).scan(examples));
assertEquals(43, testCasesInFiles);
}