From e435ccd025b5b486db1f421f28f8343f775ccb5d Mon Sep 17 00:00:00 2001 From: hneemann Date: Wed, 21 Dec 2016 19:35:56 +0100 Subject: [PATCH] fixed a bug in the interrupt controller of the example processor --- src/main/dig/processor/GPO.dig | 3 +- src/main/dig/processor/Interrupt.dig | 302 +++++++++++++++-------- src/main/dig/processor/ProcessorIntr.dig | 16 +- src/main/dig/processor/Rising.dig | 93 +++++++ src/main/dig/processor/Terminal.dig | 2 +- 5 files changed, 299 insertions(+), 117 deletions(-) create mode 100644 src/main/dig/processor/Rising.dig diff --git a/src/main/dig/processor/GPO.dig b/src/main/dig/processor/GPO.dig index bc7d1a9d9..ed9c53c46 100644 --- a/src/main/dig/processor/GPO.dig +++ b/src/main/dig/processor/GPO.dig @@ -4,7 +4,8 @@ Description - Element für ein allgemeines Ausgaberegister. + Element für ein allgemeines Ausgaberegister. +Seine Adresse ist 0x15 diff --git a/src/main/dig/processor/Interrupt.dig b/src/main/dig/processor/Interrupt.dig index 9b119f37e..cfecdf566 100644 --- a/src/main/dig/processor/Interrupt.dig +++ b/src/main/dig/processor/Interrupt.dig @@ -39,7 +39,7 @@ erneut Interrupts ausgelöst werden können. 1 - + Out @@ -57,7 +57,7 @@ erneut Interrupts ausgelöst werden können. 16 - + In @@ -71,7 +71,7 @@ erneut Interrupts ausgelöst werden können. ioR - + And @@ -95,7 +95,7 @@ erneut Interrupts ausgelöst werden können. C - + In @@ -113,22 +113,25 @@ erneut Interrupts ausgelöst werden können. 16 - + Register + + valueIsProbe + true + + + Label + intRet + Bits 16 - - - - Not - - + JK_FF @@ -146,7 +149,7 @@ erneut Interrupts ausgelöst werden können. intLock - + Not @@ -165,7 +168,7 @@ erneut Interrupts ausgelöst werden können. iEn - + Comparator @@ -190,7 +193,7 @@ Wenn gesetzt, wird Interrupt verhindert. imm - + Const @@ -214,7 +217,7 @@ Wenn gesetzt, wird Interrupt verhindert. true - + And @@ -234,7 +237,7 @@ Wenn gesetzt, wird Interrupt verhindert. abs - + Not @@ -254,7 +257,7 @@ Wenn gesetzt, wird Interrupt verhindert. rel - + Not @@ -273,7 +276,7 @@ Wenn gesetzt, wird Interrupt verhindert. intr - + D_FF @@ -283,53 +286,126 @@ Wenn gesetzt, wird Interrupt verhindert. Sync - + + + + /home/hneemann/Dokumente/Java/digital/src/main/dig/processor/Rising.dig + + + + + D_FF + + + rotation + + + + + + + Tunnel + + + NetName + C + + + + + + Tunnel + + + rotation + + + + NetName + C + + + + + + Tunnel + + + rotation + + + + NetName + C + + + + + + Tunnel + + + NetName + C + + + + + + Tunnel + + + rotation + + + + NetName + C + + + - - + + - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + - - + + + + + + + + + + + + + + @@ -340,7 +416,7 @@ Wenn gesetzt, wird Interrupt verhindert. - + @@ -348,43 +424,55 @@ Wenn gesetzt, wird Interrupt verhindert. - - + + - + + + + + - - + + - + - - - - - + - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + @@ -395,48 +483,40 @@ Wenn gesetzt, wird Interrupt verhindert. + + + + + + + + - + - - - - - - - - - - - - - - - - - - + + - + - - + + - + - - + + - + @@ -444,32 +524,40 @@ Wenn gesetzt, wird Interrupt verhindert. - + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + \ No newline at end of file diff --git a/src/main/dig/processor/ProcessorIntr.dig b/src/main/dig/processor/ProcessorIntr.dig index 2d83ae85a..36fd5594f 100644 --- a/src/main/dig/processor/ProcessorIntr.dig +++ b/src/main/dig/processor/ProcessorIntr.dig @@ -1563,10 +1563,6 @@ An dieser Adresse muss sich die ISR befinden. - - - - @@ -1575,6 +1571,10 @@ An dieser Adresse muss sich die ISR befinden. + + + + @@ -1883,14 +1883,14 @@ An dieser Adresse muss sich die ISR befinden. - - - - + + + + diff --git a/src/main/dig/processor/Rising.dig b/src/main/dig/processor/Rising.dig new file mode 100644 index 000000000..3776ebf37 --- /dev/null +++ b/src/main/dig/processor/Rising.dig @@ -0,0 +1,93 @@ + + + 1 + + + Or + + + + + In + + + Label + Reset + + + + + + And + + + + + In + + + Label + Set + + + + + + Not + + + + + Out + + + Label + Out + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/processor/Terminal.dig b/src/main/dig/processor/Terminal.dig index c513e3a45..8a604403c 100644 --- a/src/main/dig/processor/Terminal.dig +++ b/src/main/dig/processor/Terminal.dig @@ -4,7 +4,7 @@ Description - Terminal + Terminal. Die Adresse ist 0x1F.