commit 19178fa456ccd02edd1cb640a83f4b83259723d2 Author: Dirk Zechnall Date: Sun Jan 5 09:08:13 2025 +0100 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5795603 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +*.class +*.ctxt +*.sh +repo.adoc +*.~lock +/alt +Gemfile +Gemfile.lock diff --git a/1_hintergrund/01_hintergrund.odt b/1_hintergrund/01_hintergrund.odt new file mode 100644 index 0000000..a080291 Binary files /dev/null and b/1_hintergrund/01_hintergrund.odt differ diff --git a/1_hintergrund/02_unterrichtsverlauf.odt b/1_hintergrund/02_unterrichtsverlauf.odt new file mode 100644 index 0000000..018b99c Binary files /dev/null and b/1_hintergrund/02_unterrichtsverlauf.odt differ diff --git a/2_vorlagen_tauschordner/01_firmware.mpd b/2_vorlagen_tauschordner/01_firmware.mpd new file mode 100644 index 0000000..fcc1d23 --- /dev/null +++ b/2_vorlagen_tauschordner/01_firmware.mpd @@ -0,0 +1,128 @@ +; MikrSimD-Programm-Speicher: firmware.mps +; +AD Befehl 0 1 2 3 4 5 6 7 8 9 A B C D E F FA +00 mov op,[ip] . . . . . 5 . . 8 . . . . . . . 01 +01 . . . . . . . . . . . . C . . . 02 +02 . . . . . . 6 . . 9 . . . . . . 03 +03 inc ip . . . . 4 5 . 7 . . . . . . . . 04 +04 mov dr,[ip] . . . . . 5 . . 8 . . . . . . . 05 +05 . . . . . . . . . . . . C . . . 06 +06 inc ip . . . . 4 5 . 7 . . . . . . . . 07 +07 do command . . . . . . . . . . . . . . . F 00 +08 . . . . . . . . . . . . . . . . 09 +09 . . . . . . . . . . . . . . . . 0A +0A . . . . . . . . . . . . . . . . 0B +0B . . . . . . . . . . . . . . . . 0C +0C . . . . . . . . . . . . . . . . 0D +0D . . . . . . . . . . . . . . . . 0E +0E . . . . . . . . . . . . . . . . 0F +0F . . . . . . . . . . . . . . . . 10 +10 MOV AX,[nn] . . . . . . . . 8 9 . . . . . . 11 +11 . . . . . . . . . . . . C . . . 12 +12 MOV AX, nn 0 . . . . . . . . 9 . . . . . . 00 +13 MOV AX,[BX] . . . 3 . . . . 8 . . . . . . . 14 +14 . . . . . . . . . . . . C . . . 15 +15 0 . . . . . . . . 9 . . . . . . 00 +16 MOV BX,[AX] . 1 . . . . . . 8 . . . . . . . 17 +17 . . . . . . . . . . . . C . . . 18 +18 . . 2 . . . . . . 9 . . . . . . 00 +19 MOV [nn],AX . . . . . . . . 8 9 . . . . . . 1A +1A . 1 . . . . . . . . A . . . . . 1B +1B . . . . . . . . . . . B . . . . 00 +1C MOV [BX],AX . . . 3 . . . . 8 . . . . . . . 1D +1D . 1 . . . . . . . . A . . . . . 1E +1E . . . . . . . . . . . B . . . . 00 +1F MOV [AX],BX . 1 . . . . . . 8 . . . . . . . 20 +20 . . . 3 . . . . . . A . . . . . 21 +21 . . . . . . . . . . . B . . . . 00 +22 MOV BX,[nn] . . . . . . . . 8 9 . . . . . . 23 +23 . . . . . . . . . . . . C . . . 24 +24 MOV BX, nn . . 2 . . . . . . 9 . . . . . . 00 +25 MOV [nn],BX . . . . . . . . 8 9 . . . . . . 26 +26 . . . 3 . . . . . . A . . . . . 27 +27 . . . . . . . . . . . B . . . . 00 +28 MOV AX, BX 0 . . 3 . . . . . . . . . . . . 00 +29 . . . . . . . . . . . . . . . . 2A +2A MOV BX, AX . 1 2 . . . . . . . . . . . . . 00 +2B . . . . . . . . . . . . . . . . 2C +2C ADD AX,[nn] . . . . . . . . 8 9 . . . . . . 2D +2D . . . . . . . . . . . . C . . . 2E +2E ADD AX, nn 0 1 . . . . . . . 9 . . . . . . 00 +2F ADD AX,[BX] . . . 3 . . . . 8 . . . . . . . 30 +30 . . . . . . . . . . . . C . . . 31 +31 0 1 . . . . . . . 9 . . . . . . 00 +32 ADD AX, BX . . . 3 . . . . . . A . . . . . 33 +33 0 1 . . . . . . . 9 . . . . . . 00 +34 SUB AX,[nn] . . . . . . . . 8 9 . . . . . . 35 +35 . . . . . . . . . . . . C . . . 36 +36 SUB AX, nn 0 1 . . . . . . . 9 . . . D . . 00 +37 . . . . . . . . . . . . . . . . 38 +38 SUB AX,[BX] . . . 3 . . . . 8 . . . . . . . 39 +39 . . . . . . . . . . . . C . . . 3A +3A 0 1 . . . . . . . 9 . . . D . . 00 +3B . . . . . . . . . . . . . . . . 3C +3C SUB AX, BX . . . 3 . . . . . . A . . . . . 3D +3D 0 1 . . . . . . . 9 . . . D . . 00 +3E . . . . . . . . . . . . . . . . 3F +3F ADD BX,[nn] . . . . . . . . 8 9 . . . . . . 40 +40 . . . . . . . . . . . . C . . . 41 +41 ADD BX, nn . . 2 3 . . . . . 9 . . . . . . 00 +42 . . . . . . . . . . . . . . . . 43 +43 ADD BX, AX . 1 . . . . . . . . A . . . . . 44 +44 . . 2 3 . . . . . 9 . . . . . . 00 +45 ADD BX,[AX] . 1 . . . . . . 8 . . . . . . . 46 +46 . . . . . . . . . . . . C . . . 47 +47 . . 2 3 . . . . . 9 . . . . . . 00 +48 SUB BX,[nn] . . . . . . . . 8 9 . . . . . . 49 +49 . . . . . . . . . . . . C . . . 4A +4A SUB BX, nn . . 2 3 . . . . . 9 . . . D . . 00 +4B . . . . . . . . . . . . . . . . 4C +4C SUB BX, AX . 1 . . . . . . . . A . . . . . 4D +4D . . 2 3 . . . . . 9 . . . D . . 00 +4E SUB BX,[AX] . 1 . . . . . . 8 . . . . . . . 4F +4F . . . . . . . . . . . . C . . . 50 +50 . . 2 3 . . . . . 9 . . . D . . 00 +51 INC [nn] . . . . . . . . 8 9 . . . . . . 52 +52 . . . . . . . . . . . . C . . . 53 +53 . . 2 . . . . . . 9 . . . . . . 54 +54 . . . 3 . . . 7 . . A . . . . . 55 +55 . . . . . . . . . . . B . . . . 00 +56 DEC [nn] . . . . . . . . 8 9 . . . . . . 57 +57 . . . . . . . . . . . . C . . . 58 +58 . . 2 . . . . . . 9 . . . . . . 59 +59 . . . 3 . . . 7 . . A . . D . . 5A +5A . . . . . . . . . . . B . . . . 00 +5B INC AX 0 1 . . . . . 7 . . . . . . . . 00 +5C INC BX . . 2 3 . . . 7 . . . . . . . . 00 +5D . . . . . . . . . . . . . . . . 5E +5E DEC AX 0 1 . . . . . 7 . . . . . D . . 00 +5F DEC BX . . 2 3 . . . 7 . . . . . D . . 00 +60 . . . . . . . . . . . . . . . . 61 +61 JMP [nn] . . . . . . . . 8 9 . . . . . . 62 +62 . . . . . . . . . . . . C . . . 63 +63 JMP nn . . . . 4 . . . . 9 . . . . . . 00 +64 . . . . . . . . . . . . . . . . 65 +65 JS nn . . . . . . . . . . . . . . E . 66 +66 . . . . . . . . . . . . . . . . 00 +67 . . . . 4 . . . . 9 . . . . . . 00 +68 JNS nn . . . . . . . . . . . . . . E . 69 +69 . . . . 4 . . . . 9 . . . . . . 00 +6A . . . . . . . . . . . . . . . . 00 +6B JZ nn . . . . . . . . . . . . . . E . 6C +6C . . . . . . . . . . . . . . . . 6E +6D . . . . . . . . . . . . . . . . 00 +6E 0 1 . . . . . 7 . . . . . D . . 6F +6F . . . . . . . . . . . . . . E . 70 +70 0 1 . . . . . 7 . . . . . . . . 00 +71 0 1 . . . . . 7 . . . . . . . . 72 +72 . . . . 4 . . . . 9 . . . . . . 00 +73 JNZ nn . . . . . . . . . . . . . . E . 74 +74 . . . . . . . . . . . . . . . . 76 +75 . . . . 4 . . . . 9 . . . . . . 00 +76 0 1 . . . . . 7 . . . . . D . . 77 +77 . . . . . . . . . . . . . . E . 78 +78 . . . . . . . . . . . . . . . . 7A +79 0 1 . . . . . 7 . . . . . . . . 00 +7A 0 1 . . . . . 7 . . . . . . . . 7B +7B . . . . 4 . . . . 9 . . . . . . 00 +7C HALT . . . . 4 . 6 . . . . . . . . . 7C diff --git a/2_vorlagen_tauschordner/02_spruenge.ras b/2_vorlagen_tauschordner/02_spruenge.ras new file mode 100644 index 0000000..b37afc1 --- /dev/null +++ b/2_vorlagen_tauschordner/02_spruenge.ras @@ -0,0 +1,20 @@ +; MikrSimD-RAM-Assembler: spruenge.ras +; +RAS OP nn +00 10 21 MOV AX,[21] +02 5E 00 DEC AX +04 65 0A JS 0A +06 3F 20 ADD BX,[20] +08 63 02 JMP 02 +0A 25 22 MOV[22],BX +0C 7C 00 HALT +0E 00 00 +10 0000 00 +12 00 00 +14 00 00 +16 00 00 +18 00 00 +1A 00 08 +1C 00 00 +1E 00 00 +20 0A 03 diff --git a/2_vorlagen_tauschordner/03_bubblesort.ras b/2_vorlagen_tauschordner/03_bubblesort.ras new file mode 100644 index 0000000..b57fd07 --- /dev/null +++ b/2_vorlagen_tauschordner/03_bubblesort.ras @@ -0,0 +1,48 @@ +; MikrSimD-RAM-Assembler: Übung6c_bubble.ras +; +RAS OP nn Befehl +00 19 4E MOV [4E],AX +02 10 4E MOV AX,[4E] +04 36 0A SUB AX, 0A +06 68 38 JNS 38 +08 12 09 MOV AX, 09 +0A 19 4F MOV [4F],AX +0C 10 4E MOV AX,[4E] +0E 34 4F SUB AX,[4F] +10 68 34 JNS 34 +12 22 4F MOV BX,[4F] +14 41 50 ADD BX, 50 +16 13 00 MOV AX,[BX] +18 5F 00 DEC BX +1A 38 00 SUB AX,[BX] +1C 68 30 JNS 30 +1E 13 00 MOV AX,[BX] +20 19 4D MOV [4D],AX +22 5C 00 INC BX +24 13 00 MOV AX,[BX] +26 5F 00 DEC BX +28 1C 00 MOV [BX],AX +2A 5C 00 INC BX +2C 10 4D MOV AX,[4D] +2E 1C 00 MOV [BX],AX +30 56 4F DEC [4F] +32 63 0C JMP 0C +34 51 4E INC [4E] +36 63 02 JMP 02 +38 7C 00 HALT +3A 00 00 +3C 00 00 +3E 00 00 +40 00 00 +42 00 00 +44 00 00 +46 00 00 +48 00 00 +4A 00 00 +4C 00 00 +4E 00 00 +50 2D 06 +52 2A 0C MOV BX, AX +54 09 0C +56 17 16 +58 01 57 diff --git a/2_vorlagen_tauschordner/04_firmware2.mpd b/2_vorlagen_tauschordner/04_firmware2.mpd new file mode 100644 index 0000000..ae8125e --- /dev/null +++ b/2_vorlagen_tauschordner/04_firmware2.mpd @@ -0,0 +1,230 @@ +; MikrSimD-Programm-Speicher: CCAT-Ltb.mpd +; +AD Befehl 0 1 2 3 4 5 6 7 8 9 A B C D E F FA +00 MOV OP, [IP] . . . . . 5 . . 8 . . . . . . . 01 +01 . . . . . . . . . . . . C . . . 02 +02 . . . . . . 6 . . 9 . . . . . . 03 +03 INC IP . . . . 4 5 . 7 . . . . . . . . 04 +04 MOV DR, [IP] . . . . . 5 . . 8 . . . . . . . 05 +05 . . . . . . . . . . . . C . . . 06 +06 INC IP . . . . 4 5 . 7 . . . . . . . . 07 +07 do command . . . . . . . . . . . . . . . F 00 +08 ************ . . . . . . . . . . . . . . . . 09 +09 ;***** MOVs . . . . . . . . . . . . . . . . 0A +0A mov AX, [nn] . . . . . . . . 8 9 . . . . . . 0B +0B . . . . . . . . . . . . C . . . 0C +0C 0 . . . . . . . . 9 . . . . . . 00 +0D mvAX,[BX+nn] . . . 3 . . . . 8 9 . . . . . . 0E +0E . . . . . . . . . . . . C . . . 0F +0F 0 . . . . . . . . 9 . . . . . . 00 +10 mov AX, nn 0 . . . . . . . . 9 . . . . . . 00 +11 mov [nn], AX . . . . . . . . 8 9 . . . . . . 12 +12 . 1 . . . . . . . . A . . . . . 13 +13 . . . . . . . . . . . B . . . . 00 +14 mv[BX+nn],AX . . . 3 . . . . 8 9 . . . . . . 15 +15 . 1 . . . . . . . . A . . . . . 16 +16 . . . . . . . . . . . B . . . . 00 +17 mov BX, [nn] . . . . . . . . 8 9 . . . . . . 18 +18 . . . . . . . . . . . . C . . . 19 +19 . . 2 . . . . . . 9 . . . . . . 00 +1A mov BX, nn . . 2 . . . . . . 9 . . . . . . 00 +1B mov [nn], BX . . . . . . . . 8 9 . . . . . . 1C +1C . . . 3 . . . . . . A . . . . . 1D +1D . . . . . . . . . . . B . . . . 00 +1E mov AX, BX 0 . . 3 . . . . . . . . . . . . 00 +1F mov BX, AX . 1 2 . . . . . . . . . . . . . 00 +20 SWAP AX,BX . 1 . . . . . . . . A . . . . . 21 +21 0 . . 3 . . . . . . . . . . . . 22 +22 . . 2 . . . . . . 9 . . . . . . 00 +23 CLR [nn] . . . . . . . . 8 9 . . . . . . 24 +24 . . . . . . . . . . A . . . . . 25 +25 . . . . . . . . . . . B . . . . 00 +26 CLR [BX+nn] . . . 3 . . . . 8 9 . . . . . . 27 +27 . . . . . . . . . . A . . . . . 28 +28 . . . . . . . . . . . B . . . . 00 +29 ;********** . . . . . . . . . . . . . . . . 2A +2A ;*** ADD&SUB . . . . . . . . . . . . . . . . 2B +2B ADD nn 0 1 . . . . . . . 9 . . . . . . 00 +2C ADD AX . 1 . . . . . . . . A . . . . . 2D +2D 0 1 . . . . . . . 9 . . . . . . 00 +2E ADD BX . . . 3 . . . . . . A . . . . . 2F +2F 0 1 . . . . . . . 9 . . . . . . 30 +30 ADD [nn] . . . . . . . . 8 9 . . . . . . 31 +31 . . . . . . . . . . . . C . . . 32 +32 0 1 . . . . . . . 9 . . . . . . 00 +33 ADD [BX+nn] . . . 3 . . . . 8 9 . . . . . . 34 +34 . . . . . . . . . . . . C . . . 35 +35 0 1 . . . . . . . 9 . . . . . . 00 +36 SUB nn 0 1 . . . . . . . 9 . . . D . . 00 +37 SUB AX . 1 . . . . . . . . A . . . . . 38 +38 0 1 . . . . . . . 9 . . . D . . 00 +39 SUB BX . . . 3 . . . . . . A . . . . . 3A +3A 0 . . . . . . . . 9 . . . D . . 00 +3B SUB [nn] . . . . . . . . 8 9 . . . . . . 3C +3C . . . . . . . . . . . . C . . . 3D +3D 0 1 . . . . . . . 9 . . . D . . 00 +3E SUB [BX+nn] . . . 3 . . . . 8 9 . . . . . . 3F +3F . . . . . . . . . . . . C . . . 40 +40 0 1 . . . . . . . 9 . . . D . . 00 +41 ADD BX, nn . . 2 3 . . . . . 9 . . . . . . 42 +42 ADD BX,[nn] . . . . . . . . 8 9 . . . . . . 43 +43 . . . . . . . . . . . . C . . . 44 +44 . . 2 3 . . . . . 9 . . . . . . 00 +45 SUB BX, nn . . 2 3 . . . . . 9 . . . D . . 00 +46 NEG AX . 1 . . . . . . . . A . . . . . 47 +47 0 . . . . . . . . 9 . . . D . . 00 +48 ;********** . . . . . . . . . . . . . . . . 49 +49 ;*** inc&dec . . . . . . . . . . . . . . . . 4A +4A INC AX 0 1 . . . . . 7 . . . . . . . . 00 +4B DEC AX 0 1 . . . . . 7 . . . . . D . . 00 +4C INC BX . . 2 3 . . . 7 . . . . . . . . 00 +4D DEC BX . . 2 3 . . . 7 . . . . . D . . 00 +4E INC [nn] . . . . . . . . 8 9 . . . . . . 4F +4F . . . . . . . . . . . . C . . . 50 +50 0 . . . . . . . . 9 . . . . . . 51 +51 0 1 . . . . . 7 . . A . . . . . 52 +52 . . . . . . . . . . . B . . . . 00 +53 DEC [nn] . . . . . . . . 8 9 . . . . . . 54 +54 . . . . . . . . . . . . C . . . 55 +55 0 . . . . . . . . 9 . . . . . . 56 +56 0 1 . . . . . 7 . . . . . D . . 00 +57 INC [BX+nn] . . . 3 . . . . 8 9 . . . . . . 58 +58 . . . . . . . . . . . . C . . . 59 +59 0 . . . . . . . . 9 . . . . . . 5A +5A 0 1 . . . . . 7 . . A . . . . . 5B +5B . . . . . . . . . . . B . . . . 00 +5C DEC [BX+nn] . . . 3 . . . . 8 9 . . . . . . 5D +5D . . . . . . . . . . . . C . . . 5E +5E 0 . . . . . . . . 9 . . . . . . 5F +5F 0 1 . . . . . 7 . . A . . D . . 60 +60 . . . . . . . . . . . B . . . . 00 +61 ;********** . . . . . . . . . . . . . . . . 62 +62 ;** Spruenge . . . . . . . . . . . . . . . . 63 +63 JP nn . . . . 4 . . . . 9 . . . . . . 00 +64 JP [nn] . . . . . . . . 8 9 . . . . . . 65 +65 . . . . . . . . . . . . C . . . 66 +66 . . . . 4 . . . . . . . . . . . 00 +67 JPS nn . . . . . . . . . . . . . . E . 68 +68 . . . . . . . . . . . . . . . . 00 +69 . . . . 4 . . . . 9 . . . . . . 00 +6A JPNS nn . . . . . . . . . . . . . . E . 6B +6B . . . . 4 . . . . 9 . . . . . . 00 +6C . . . . . . . . . . . . . . . . 00 +6D JR nn . . . . 4 5 . 7 . . . . . D . . 6E +6E . . . . 4 5 . 7 . . . . . D . . 6F +6F . . . . 4 5 . . . 9 . . . . . . 00 +70 JRS nn . . . . . . . . . . . . . . E . 71 +71 . . . . . . . . . . . . . . . . 00 +72 . . . . 4 5 . 7 . . . . . D . . 73 +73 . . . . 4 5 . 7 . . . . . D . . 74 +74 . . . . 4 5 . . . 9 . . . . . . 00 +75 JRNS nn . . . . . . . . . . . . . . E . 76 +76 . . . . 4 5 . . . 9 . . . . . . 78 +77 . . . . . . . . . . . . . . . . 00 +78 . . . . 4 5 . 7 . . . . . D . . 79 +79 . . . . 4 5 . 7 . . . . . D . . 00 +7A CALL nn . . . . 4 5 . 7 . . . . . D . . 7B +7B . . . 3 . . . . 8 . . . . . . . 7C +7C . . . . . 5 . 7 . . A . . . . . 7D +7D . . . . . . . . . . . B . . . . 7E +7E . . . . . 5 . . 8 . . . . . . . 7F +7F . . . . . . . . . . . . C . . . 80 +80 . . 2 3 . . . 7 . . . . . D . . 81 +81 . . . . 4 . . . . 9 . . . . . . 00 +82 RET . . 2 3 . . . 7 8 . . . . . . . 83 +83 . . . . . . . . . . . . C . . . 84 +84 . . . . 4 . . . . 9 . . . . . . 00 +85 . . . . . . . . . . . . . . . . 85 +86 HALT . . . . . . . . . . . . . . . . 86 +87 ;********** . . . . . . . . . . . . . . . . 88 +88 ;*** Stack . . . . . . . . . . . . . . . . 89 +89 PUSH AX . . . 3 . . . . 8 . . . . . . . 8A +8A . 1 . . . . . . . . A . . . . . 8B +8B . . . . . . . . . . . B . . . . 8C +8C . . 2 3 . . . 7 . . . . . D . . 00 +8D POP AX . . 2 3 . . . 7 8 . . . . . . . 8E +8E . . . . . . . . . . . . C . . . 8F +8F 0 . . . . . . . . 9 . . . . . . 00 +90 ADDSTACK . . 2 3 . . . 7 8 . . . . . . . 91 +91 . . . . . . . . . . . . C . . . 92 +92 0 . . . . . . . . 9 . . . . . . 93 +93 . . . 3 . . . 7 8 . . . . . . . 94 +94 . . . . . . . . . . . . C . . . 95 +95 0 1 . . . . . . . 9 . . . . . . 96 +96 . 1 . . . . . . . . A . . . . . 97 +97 . . . . . . . . . . . B . . . . 00 +98 SUBSTACK . . 2 3 . . . 7 . . . . . . . . 99 +99 . . 2 3 . . . 7 8 . . . . . . . 9A +9A . . . . . . . . . . . . C . . . 9B +9B 0 . . . . . . . . 9 . . . . . . 9C +9C . . 2 3 . . . 7 8 . . . . D . . 9D +9D . . . . . . . . . . . . C . . . 9E +9E 0 1 . . . . . . . 9 . . . D . . 9F +9F . 1 . . . . . . . . A . . . . . A0 +A0 . . . 3 . . . 7 8 . . . . . . . A1 +A1 . . . . . . . . . . . B . . . . 00 +A2 NEGSTACK . . . 3 . . . 7 8 . . . . . . . A3 +A3 . . . . . . . . . . . . C . . . A4 +A4 0 . . . . . . . . 9 A . . D . . A5 +A5 . . . . . . . . . . . B . . . . 00 +A6 PUSH nn . . . 3 . . . . 8 . . . . . . . A7 +A7 . . . . . . . . . . . B . . . . A8 +A8 . . 2 3 . . . 7 . . . . . D . . 00 +A9 PUSH [nn] . . . . . . . . 8 9 . . . . . . AA +AA . . . . . . . . . . . . C . . . AB +AB . . . 3 . . . . 8 . . . . . . . AC +AC . . . . . . . . . . . B . . . . AD +AD . . 2 3 . . . 7 . . . . . D . . 00 +AE POP [nn] . . . 3 . . . . 8 . . . . . . . AF +AF . 1 . . . . . . . . A . . . . . B0 +B0 . . . . . . . . . . . B . . . . B1 +B1 . . . 3 . . . 7 8 . . . . . . . B2 +B2 . . . . . . . . . . . . C . . . B3 +B3 0 . . . . . . . . 9 . . . . . . B4 +B4 . . . . . 5 . 7 8 . . . . D . . B5 +B5 . . . . . . . . . . . . C . . . B6 +B6 . . . . . . . . 8 9 . . . . . . B7 +B7 . 1 . . . . . . . . A . . . . . B8 +B8 . . . . . . . . . . . B . . . . B9 +B9 . . . 3 . . . . 8 . . . . . . . BA +BA . . . . . . . . . . . . C . . . BB +BB 0 . . . . . . . . 9 . . . . . . BC +BC . . 2 3 . . . 7 . . . . . . . . 00 +BD SWAPSTACK . . . 3 . . . 7 8 . . . . . . . BE +BE . . . . . . . . . . . . C . . . BF +BF . . . 3 . . . . 8 . . . . . . . C0 +C0 . . . . . . . . . . . B . . . . C1 +C1 . . 2 3 . . . 7 . . . . . . . . C2 +C2 . . . 3 . . . 7 8 . . . . . . . C3 +C3 . . . . . . . . . . . . C . . . C4 +C4 . . . 3 . . . . 8 . . . . . . . C5 +C5 . . . . . . . . . . . B . . . . C6 +C6 . . . 3 . . . 7 8 . . . . D . . C7 +C7 . . . . . . . . . . . . C . . . C8 +C8 . . . 3 . . . 7 8 . . . . . . . C9 +C9 . . . . . . . . . . . B . . . . CA +CA . . 2 3 . . . 7 . . . . . D . . 00 +CB SWAPSTACK,AX . . . 3 . . . . 8 . . . . . . . CC +CC . 1 . . . . . . . . A . . . . . CD +CD . . . . . . . . . . . B . . . . CE +CE . . . 3 . . . 7 8 . . . . . . . CF +CF . . . . . . . . . . . . C . . . D0 +D0 0 . . . . . . . . 9 . . . . . . D1 +D1 . . . 3 . . . . 8 . . . . . . . D2 +D2 . . . . . . . . . . . . C . . . D3 +D3 . . . 3 . . . 7 8 . . . . . . . D4 +D4 . . . . . . . . . . . B . . . . 00 +D5 JPZ nn . . . . . . . . . . . . . . E . D6 +D6 0 1 . . . . . 7 . . . . . D . . D8 +D7 . . . . . . . . . . . . . . . . 00 +D8 . . . . . . . . . . . . . . E . D9 +D9 0 1 . . . . . 7 . . . . . . . . 00 +DA 0 1 . . . . . 7 . . . . . . . . DB +DB . . . . 4 . . . . 9 . . . . . . 00 +DC JPNZ nn . . . . . . . . . . . . . . E . DD +DD 0 1 . . . . . 7 . . . . . D . . DF +DE . . . . 4 . . . . 9 . . . . . . 00 +DF . . . . . . . . . . . . . . E . E0 +E0 0 1 . . . . . 7 . . . . . . . . E2 +E1 0 1 . . . . . 7 . . . . . . . . 00 +E2 . . . . 4 . . . . 9 . . . . . . 00 diff --git a/2_vorlagen_tauschordner/05_division.mj b/2_vorlagen_tauschordner/05_division.mj new file mode 100644 index 0000000..596af60 --- /dev/null +++ b/2_vorlagen_tauschordner/05_division.mj @@ -0,0 +1,12 @@ +{ + byte a; byte b; // a,b Parameter + byte d; byte r; // d,r Ergebnis + a = 34; b = 3; + d = 0; + while (a > b) { + a = a - b; + d = d + 1; + }; + r = a; + } +} \ No newline at end of file diff --git a/3_kopiervorlagen/01_minetest.odt b/3_kopiervorlagen/01_minetest.odt new file mode 100644 index 0000000..24bba38 Binary files /dev/null and b/3_kopiervorlagen/01_minetest.odt differ diff --git a/3_kopiervorlagen/02_aufgaben_zahlensysteme.odt b/3_kopiervorlagen/02_aufgaben_zahlensysteme.odt new file mode 100644 index 0000000..96308c5 Binary files /dev/null and b/3_kopiervorlagen/02_aufgaben_zahlensysteme.odt differ diff --git a/3_kopiervorlagen/03_microsim.odt b/3_kopiervorlagen/03_microsim.odt new file mode 100644 index 0000000..a23477c Binary files /dev/null and b/3_kopiervorlagen/03_microsim.odt differ diff --git a/4_loesungen/01_hintergrund_loesungen.odt b/4_loesungen/01_hintergrund_loesungen.odt new file mode 100644 index 0000000..6c253fc Binary files /dev/null and b/4_loesungen/01_hintergrund_loesungen.odt differ diff --git a/4_loesungen/01_logicsim/01_a3b_nor_aus_nand.lsim b/4_loesungen/01_logicsim/01_a3b_nor_aus_nand.lsim new file mode 100644 index 0000000..6da92c2 Binary files /dev/null and b/4_loesungen/01_logicsim/01_a3b_nor_aus_nand.lsim differ diff --git a/4_loesungen/01_logicsim/02_a3c_not_aus_nand.lsim b/4_loesungen/01_logicsim/02_a3c_not_aus_nand.lsim new file mode 100644 index 0000000..75ea263 Binary files /dev/null and b/4_loesungen/01_logicsim/02_a3c_not_aus_nand.lsim differ diff --git a/4_loesungen/01_logicsim/03_a3d_and_aus_nand.lsim b/4_loesungen/01_logicsim/03_a3d_and_aus_nand.lsim new file mode 100644 index 0000000..a320d4c Binary files /dev/null and b/4_loesungen/01_logicsim/03_a3d_and_aus_nand.lsim differ diff --git a/4_loesungen/01_logicsim/04_a3e_or_aus_nand.lsim b/4_loesungen/01_logicsim/04_a3e_or_aus_nand.lsim new file mode 100644 index 0000000..9b4a499 Binary files /dev/null and b/4_loesungen/01_logicsim/04_a3e_or_aus_nand.lsim differ diff --git a/4_loesungen/01_logicsim/05_a3f_xor_aus_nand.lsim b/4_loesungen/01_logicsim/05_a3f_xor_aus_nand.lsim new file mode 100644 index 0000000..b9742c7 Binary files /dev/null and b/4_loesungen/01_logicsim/05_a3f_xor_aus_nand.lsim differ diff --git a/4_loesungen/01_logicsim/06_a4a_d_flipflop_1.lsim b/4_loesungen/01_logicsim/06_a4a_d_flipflop_1.lsim new file mode 100644 index 0000000..29bfe7f Binary files /dev/null and b/4_loesungen/01_logicsim/06_a4a_d_flipflop_1.lsim differ diff --git a/4_loesungen/01_logicsim/07_a4a_rs_flipflop.lsim b/4_loesungen/01_logicsim/07_a4a_rs_flipflop.lsim new file mode 100644 index 0000000..91a1602 Binary files /dev/null and b/4_loesungen/01_logicsim/07_a4a_rs_flipflop.lsim differ diff --git a/4_loesungen/01_logicsim/08_a4b_d_flipflop_2.lsim b/4_loesungen/01_logicsim/08_a4b_d_flipflop_2.lsim new file mode 100644 index 0000000..ac22ef2 Binary files /dev/null and b/4_loesungen/01_logicsim/08_a4b_d_flipflop_2.lsim differ diff --git a/4_loesungen/01_logicsim/09_a5_4bit-xor.mod b/4_loesungen/01_logicsim/09_a5_4bit-xor.mod new file mode 100644 index 0000000..29672e8 Binary files /dev/null and b/4_loesungen/01_logicsim/09_a5_4bit-xor.mod differ diff --git a/4_loesungen/01_logicsim/10_a5a_4bit-xor.lsim b/4_loesungen/01_logicsim/10_a5a_4bit-xor.lsim new file mode 100644 index 0000000..239fb31 Binary files /dev/null and b/4_loesungen/01_logicsim/10_a5a_4bit-xor.lsim differ diff --git a/4_loesungen/01_logicsim/11_a5b_xor.lsim b/4_loesungen/01_logicsim/11_a5b_xor.lsim new file mode 100644 index 0000000..2ccb087 Binary files /dev/null and b/4_loesungen/01_logicsim/11_a5b_xor.lsim differ diff --git a/4_loesungen/01_logicsim/12_a6a_halbaddierer.lsim b/4_loesungen/01_logicsim/12_a6a_halbaddierer.lsim new file mode 100644 index 0000000..149032c Binary files /dev/null and b/4_loesungen/01_logicsim/12_a6a_halbaddierer.lsim differ diff --git a/4_loesungen/01_logicsim/12_a6b_halbaddierer.mod b/4_loesungen/01_logicsim/12_a6b_halbaddierer.mod new file mode 100644 index 0000000..6be971b Binary files /dev/null and b/4_loesungen/01_logicsim/12_a6b_halbaddierer.mod differ diff --git a/4_loesungen/01_logicsim/13_a7a_volladdierer.lsim b/4_loesungen/01_logicsim/13_a7a_volladdierer.lsim new file mode 100644 index 0000000..792d027 Binary files /dev/null and b/4_loesungen/01_logicsim/13_a7a_volladdierer.lsim differ diff --git a/4_loesungen/01_logicsim/14_a7b_8bit_addierer.lsim b/4_loesungen/01_logicsim/14_a7b_8bit_addierer.lsim new file mode 100644 index 0000000..8954aca Binary files /dev/null and b/4_loesungen/01_logicsim/14_a7b_8bit_addierer.lsim differ diff --git a/4_loesungen/01_logicsim/15_a9_4bit_addierer.lsim b/4_loesungen/01_logicsim/15_a9_4bit_addierer.lsim new file mode 100644 index 0000000..ed31a96 Binary files /dev/null and b/4_loesungen/01_logicsim/15_a9_4bit_addierer.lsim differ diff --git a/4_loesungen/02_mikrosim/01_uebung3a.mpd b/4_loesungen/02_mikrosim/01_uebung3a.mpd new file mode 100644 index 0000000..a0c4920 --- /dev/null +++ b/4_loesungen/02_mikrosim/01_uebung3a.mpd @@ -0,0 +1,33 @@ +; MikrSimD-Programm-Speicher: Mikrosim3a.mps +; +AD Befehl 0 1 2 3 4 5 6 7 8 9 A B C D E F FA +00 . . . . . . . . . . . . . . . . 01 +01 . . . . . . . . . . . . . . . . 02 +02 . . . . . . . . . . . . . . . . 03 +03 . . . . . . . . . . . . . . . . 04 +04 . . . . . . . . . . . . . . . . 05 +05 . . . . . . . . . . . . . . . . 06 +06 . . . . . . . . . . . . . . . . 07 +07 . . . . . . . . . . . . . . . . 08 +08 . . . . . . . . . . . . . . . . 09 +09 . . . . . . . . . . . . . . . . 0A +0A . . . . . . . . . . . . . . . . 0B +0B . . . . . . . . . . . . . . . . 0C +0C . . . . . . . . . . . . . . . . 0D +0D . . . . . . . . . . . . . . . . 0E +0E . . . . . . . . . . . . . . . . 0F +0F . . . . . . . . . . . . . . . . 10 +10 MOV AX,[nn] . . . . . . . . 8 9 . . . . . . 11 +11 . . . . . . . . . . . . C . . . 12 +12 0 . . . . . . . . 9 . . . . . . 13 +13 ADD AX, nn 0 1 . . . . . . . 9 . . . . . . 14 +14 SUB AX,[nn] . . . . . . . . 8 9 . . . . . . 15 +15 . . . . . . . . . . . . C . . . 16 +16 0 1 . . . . . . . 9 . . . D . . 17 +17 SUB AX, BX . . . 3 . . . . . . A . . . . . 18 +18 0 1 . . . . . . . 9 . . . D . . 19 +19 INC [nn] . . . . . . . . 8 9 . . . . . . 1A +1A . . . . . . . . . . . . C . . . 1B +1B 0 . . . . . . . . 9 . . . . . . 1C +1C . 1 . . . . . 7 . . A . . . . . 1D +1D . . . . . . . . . . . B . . . . 1E diff --git a/4_loesungen/02_mikrosim/02_uebung3b.mpd b/4_loesungen/02_mikrosim/02_uebung3b.mpd new file mode 100644 index 0000000..dcb704a --- /dev/null +++ b/4_loesungen/02_mikrosim/02_uebung3b.mpd @@ -0,0 +1,33 @@ +; MikrSimD-Programm-Speicher: Mikrosim3b.mps +; +AD Befehl 0 1 2 3 4 5 6 7 8 9 A B C D E F FA +00 . . . . . . . . . . . . . . . F 00 +01 . . . . . . . . . . . . . . . . 02 +02 . . . . . . . . . . . . . . . . 03 +03 . . . . . . . . . . . . . . . . 04 +04 . . . . . . . . . . . . . . . . 05 +05 . . . . . . . . . . . . . . . . 06 +06 . . . . . . . . . . . . . . . . 07 +07 . . . . . . . . . . . . . . . . 08 +08 . . . . . . . . . . . . . . . . 09 +09 . . . . . . . . . . . . . . . . 0A +0A . . . . . . . . . . . . . . . . 0B +0B . . . . . . . . . . . . . . . . 0C +0C . . . . . . . . . . . . . . . . 0D +0D . . . . . . . . . . . . . . . . 0E +0E . . . . . . . . . . . . . . . . 0F +0F . . . . . . . . . . . . . . . . 10 +10 MOV AX,[nn] . . . . . . . . 8 9 . . . . . . 11 +11 . . . . . . . . . . . . C . . . 12 +12 0 . . . . . . . . 9 . . . . . . 00 +13 ADD AX, nn 0 1 . . . . . . . 9 . . . . . . 00 +14 SUB AX,[nn] . . . . . . . . 8 9 . . . . . . 15 +15 . . . . . . . . . . . . C . . . 16 +16 0 1 . . . . . . . 9 . . . D . . 00 +17 SUB AX, BX . . . 3 . . . . . . A . . . . . 18 +18 0 1 . . . . . . . 9 . . . D . . 00 +19 INC [nn] . . . . . . . . 8 9 . . . . . . 1A +1A . . . . . . . . . . . . C . . . 1B +1B 0 . . . . . . . . 9 . . . . . . 1C +1C . 1 . . . . . 7 . . A . . . . . 1D +1D . . . . . . . . . . . B . . . . 00 diff --git a/4_loesungen/02_mikrosim/03_firmware.mpd b/4_loesungen/02_mikrosim/03_firmware.mpd new file mode 100644 index 0000000..fcc1d23 --- /dev/null +++ b/4_loesungen/02_mikrosim/03_firmware.mpd @@ -0,0 +1,128 @@ +; MikrSimD-Programm-Speicher: firmware.mps +; +AD Befehl 0 1 2 3 4 5 6 7 8 9 A B C D E F FA +00 mov op,[ip] . . . . . 5 . . 8 . . . . . . . 01 +01 . . . . . . . . . . . . C . . . 02 +02 . . . . . . 6 . . 9 . . . . . . 03 +03 inc ip . . . . 4 5 . 7 . . . . . . . . 04 +04 mov dr,[ip] . . . . . 5 . . 8 . . . . . . . 05 +05 . . . . . . . . . . . . C . . . 06 +06 inc ip . . . . 4 5 . 7 . . . . . . . . 07 +07 do command . . . . . . . . . . . . . . . F 00 +08 . . . . . . . . . . . . . . . . 09 +09 . . . . . . . . . . . . . . . . 0A +0A . . . . . . . . . . . . . . . . 0B +0B . . . . . . . . . . . . . . . . 0C +0C . . . . . . . . . . . . . . . . 0D +0D . . . . . . . . . . . . . . . . 0E +0E . . . . . . . . . . . . . . . . 0F +0F . . . . . . . . . . . . . . . . 10 +10 MOV AX,[nn] . . . . . . . . 8 9 . . . . . . 11 +11 . . . . . . . . . . . . C . . . 12 +12 MOV AX, nn 0 . . . . . . . . 9 . . . . . . 00 +13 MOV AX,[BX] . . . 3 . . . . 8 . . . . . . . 14 +14 . . . . . . . . . . . . C . . . 15 +15 0 . . . . . . . . 9 . . . . . . 00 +16 MOV BX,[AX] . 1 . . . . . . 8 . . . . . . . 17 +17 . . . . . . . . . . . . C . . . 18 +18 . . 2 . . . . . . 9 . . . . . . 00 +19 MOV [nn],AX . . . . . . . . 8 9 . . . . . . 1A +1A . 1 . . . . . . . . A . . . . . 1B +1B . . . . . . . . . . . B . . . . 00 +1C MOV [BX],AX . . . 3 . . . . 8 . . . . . . . 1D +1D . 1 . . . . . . . . A . . . . . 1E +1E . . . . . . . . . . . B . . . . 00 +1F MOV [AX],BX . 1 . . . . . . 8 . . . . . . . 20 +20 . . . 3 . . . . . . A . . . . . 21 +21 . . . . . . . . . . . B . . . . 00 +22 MOV BX,[nn] . . . . . . . . 8 9 . . . . . . 23 +23 . . . . . . . . . . . . C . . . 24 +24 MOV BX, nn . . 2 . . . . . . 9 . . . . . . 00 +25 MOV [nn],BX . . . . . . . . 8 9 . . . . . . 26 +26 . . . 3 . . . . . . A . . . . . 27 +27 . . . . . . . . . . . B . . . . 00 +28 MOV AX, BX 0 . . 3 . . . . . . . . . . . . 00 +29 . . . . . . . . . . . . . . . . 2A +2A MOV BX, AX . 1 2 . . . . . . . . . . . . . 00 +2B . . . . . . . . . . . . . . . . 2C +2C ADD AX,[nn] . . . . . . . . 8 9 . . . . . . 2D +2D . . . . . . . . . . . . C . . . 2E +2E ADD AX, nn 0 1 . . . . . . . 9 . . . . . . 00 +2F ADD AX,[BX] . . . 3 . . . . 8 . . . . . . . 30 +30 . . . . . . . . . . . . C . . . 31 +31 0 1 . . . . . . . 9 . . . . . . 00 +32 ADD AX, BX . . . 3 . . . . . . A . . . . . 33 +33 0 1 . . . . . . . 9 . . . . . . 00 +34 SUB AX,[nn] . . . . . . . . 8 9 . . . . . . 35 +35 . . . . . . . . . . . . C . . . 36 +36 SUB AX, nn 0 1 . . . . . . . 9 . . . D . . 00 +37 . . . . . . . . . . . . . . . . 38 +38 SUB AX,[BX] . . . 3 . . . . 8 . . . . . . . 39 +39 . . . . . . . . . . . . C . . . 3A +3A 0 1 . . . . . . . 9 . . . D . . 00 +3B . . . . . . . . . . . . . . . . 3C +3C SUB AX, BX . . . 3 . . . . . . A . . . . . 3D +3D 0 1 . . . . . . . 9 . . . D . . 00 +3E . . . . . . . . . . . . . . . . 3F +3F ADD BX,[nn] . . . . . . . . 8 9 . . . . . . 40 +40 . . . . . . . . . . . . C . . . 41 +41 ADD BX, nn . . 2 3 . . . . . 9 . . . . . . 00 +42 . . . . . . . . . . . . . . . . 43 +43 ADD BX, AX . 1 . . . . . . . . A . . . . . 44 +44 . . 2 3 . . . . . 9 . . . . . . 00 +45 ADD BX,[AX] . 1 . . . . . . 8 . . . . . . . 46 +46 . . . . . . . . . . . . C . . . 47 +47 . . 2 3 . . . . . 9 . . . . . . 00 +48 SUB BX,[nn] . . . . . . . . 8 9 . . . . . . 49 +49 . . . . . . . . . . . . C . . . 4A +4A SUB BX, nn . . 2 3 . . . . . 9 . . . D . . 00 +4B . . . . . . . . . . . . . . . . 4C +4C SUB BX, AX . 1 . . . . . . . . A . . . . . 4D +4D . . 2 3 . . . . . 9 . . . D . . 00 +4E SUB BX,[AX] . 1 . . . . . . 8 . . . . . . . 4F +4F . . . . . . . . . . . . C . . . 50 +50 . . 2 3 . . . . . 9 . . . D . . 00 +51 INC [nn] . . . . . . . . 8 9 . . . . . . 52 +52 . . . . . . . . . . . . C . . . 53 +53 . . 2 . . . . . . 9 . . . . . . 54 +54 . . . 3 . . . 7 . . A . . . . . 55 +55 . . . . . . . . . . . B . . . . 00 +56 DEC [nn] . . . . . . . . 8 9 . . . . . . 57 +57 . . . . . . . . . . . . C . . . 58 +58 . . 2 . . . . . . 9 . . . . . . 59 +59 . . . 3 . . . 7 . . A . . D . . 5A +5A . . . . . . . . . . . B . . . . 00 +5B INC AX 0 1 . . . . . 7 . . . . . . . . 00 +5C INC BX . . 2 3 . . . 7 . . . . . . . . 00 +5D . . . . . . . . . . . . . . . . 5E +5E DEC AX 0 1 . . . . . 7 . . . . . D . . 00 +5F DEC BX . . 2 3 . . . 7 . . . . . D . . 00 +60 . . . . . . . . . . . . . . . . 61 +61 JMP [nn] . . . . . . . . 8 9 . . . . . . 62 +62 . . . . . . . . . . . . C . . . 63 +63 JMP nn . . . . 4 . . . . 9 . . . . . . 00 +64 . . . . . . . . . . . . . . . . 65 +65 JS nn . . . . . . . . . . . . . . E . 66 +66 . . . . . . . . . . . . . . . . 00 +67 . . . . 4 . . . . 9 . . . . . . 00 +68 JNS nn . . . . . . . . . . . . . . E . 69 +69 . . . . 4 . . . . 9 . . . . . . 00 +6A . . . . . . . . . . . . . . . . 00 +6B JZ nn . . . . . . . . . . . . . . E . 6C +6C . . . . . . . . . . . . . . . . 6E +6D . . . . . . . . . . . . . . . . 00 +6E 0 1 . . . . . 7 . . . . . D . . 6F +6F . . . . . . . . . . . . . . E . 70 +70 0 1 . . . . . 7 . . . . . . . . 00 +71 0 1 . . . . . 7 . . . . . . . . 72 +72 . . . . 4 . . . . 9 . . . . . . 00 +73 JNZ nn . . . . . . . . . . . . . . E . 74 +74 . . . . . . . . . . . . . . . . 76 +75 . . . . 4 . . . . 9 . . . . . . 00 +76 0 1 . . . . . 7 . . . . . D . . 77 +77 . . . . . . . . . . . . . . E . 78 +78 . . . . . . . . . . . . . . . . 7A +79 0 1 . . . . . 7 . . . . . . . . 00 +7A 0 1 . . . . . 7 . . . . . . . . 7B +7B . . . . 4 . . . . 9 . . . . . . 00 +7C HALT . . . . 4 . 6 . . . . . . . . . 7C diff --git a/4_loesungen/02_mikrosim/04_uebung4.ras b/4_loesungen/02_mikrosim/04_uebung4.ras new file mode 100644 index 0000000..43a8b14 --- /dev/null +++ b/4_loesungen/02_mikrosim/04_uebung4.ras @@ -0,0 +1,12 @@ +; MikrSimD-RAM-Assembler: Übung4.ras +; +RAS OP nn Befehl +00 10 10 MOV AX,[10] +02 2E 17 ADD AX, 17 +04 19 10 MOV [10],AX +06 7C 00 HALT +08 00 00 +0A 00 00 +0C 00 00 +0E 00 00 +10 10 00 MOV AX,[00] diff --git a/4_loesungen/02_mikrosim/05_uebung4c_1.ras b/4_loesungen/02_mikrosim/05_uebung4c_1.ras new file mode 100644 index 0000000..3cba5f8 --- /dev/null +++ b/4_loesungen/02_mikrosim/05_uebung4c_1.ras @@ -0,0 +1,27 @@ +; MikrSimD-RAM-Assembler: Übung4c_1.ras +; +RAS OP nn Befehl +00 10 20 MOV AX,[20] +02 34 21 SUB AX,[21] +04 19 22 MOV [22],AX +06 7C 00 HALT +08 00 00 +0A 00 00 +0C 00 00 +0E 00 00 +10 00 00 +12 00 00 +14 00 00 +16 00 00 +18 00 00 +1A 00 00 +1C 00 00 +1E 00 00 +20 12 45 MOV AX, 45 + + +; Variablendefinitionen +VAR +20 x +21 y +22 erg diff --git a/4_loesungen/02_mikrosim/06_uebung4c_2.ras b/4_loesungen/02_mikrosim/06_uebung4c_2.ras new file mode 100644 index 0000000..2e45488 --- /dev/null +++ b/4_loesungen/02_mikrosim/06_uebung4c_2.ras @@ -0,0 +1,28 @@ +; MikrSimD-RAM-Assembler: Übung4c_3.ras +; +RAS OP nn Befehl +00 10 20 MOV AX,[20] +02 2C 21 ADD AX,[21] +04 34 22 SUB AX,[22] +06 19 23 MOV [23],AX +08 7C 00 HALT +0A 00 00 +0C 00 00 +0E 00 00 +10 00 00 +12 00 00 +14 00 00 +16 00 00 +18 00 00 +1A 00 00 +1C 00 00 +1E 00 00 +20 12 45 MOV AX, 45 + + +; Variablendefinitionen +VAR +20 x +21 y +22 z +23 erg diff --git a/4_loesungen/02_mikrosim/07_uebung4c_3.ras b/4_loesungen/02_mikrosim/07_uebung4c_3.ras new file mode 100644 index 0000000..7d48aef --- /dev/null +++ b/4_loesungen/02_mikrosim/07_uebung4c_3.ras @@ -0,0 +1,27 @@ +; MikrSimD-RAM-Assembler: Übung4c_3.ras +; +RAS OP nn Befehl +00 10 21 MOV AX,[21] +02 36 17 SUB AX, 17 +04 2A 00 MOV BX, AX +06 10 20 MOV AX,[20] +08 3C 00 SUB AX, BX +0A 19 22 MOV [22],AX +0C 7C 00 HALT +0E 00 00 +10 00 00 +12 00 00 +14 00 00 +16 00 00 +18 00 00 +1A 00 00 +1C 00 00 +1E 00 00 +20 12 45 MOV AX, 45 + + +; Variablendefinitionen +VAR +20 x +21 y +22 erg diff --git a/4_loesungen/02_mikrosim/08_uebung4e.ras b/4_loesungen/02_mikrosim/08_uebung4e.ras new file mode 100644 index 0000000..4f8c30c --- /dev/null +++ b/4_loesungen/02_mikrosim/08_uebung4e.ras @@ -0,0 +1,37 @@ +; MikrSimD-RAM-Assembler: Übung4e.ras +; +RAS OP nn Befehl +00 10 31 MOV AX,[31] +02 2C 32 ADD AX,[32] +04 2C 33 ADD AX,[33] +06 2C 34 ADD AX,[34] +08 2C 35 ADD AX,[35] +0A 2C 36 ADD AX,[36] +0C 2C 37 ADD AX,[37] +0E 2C 38 ADD AX,[38] +10 2C 39 ADD AX,[39] +12 19 30 MOV [30],AX +14 7C 00 HALT +16 00 00 +18 00 00 +1A 00 00 +1C 00 00 +1E 00 00 +20 00 00 +22 00 00 +24 00 00 +26 00 00 +28 00 00 +2A 00 00 +2C 00 00 +2E 00 00 +30 00 12 +32 22 10 MOV BX,[10] +34 02 1 +36 5 9 +38 a 2 + + +; Variablendefinitionen +VAR +30 erg? diff --git a/4_loesungen/02_mikrosim/09_uebung4e_mit_schleife.ras b/4_loesungen/02_mikrosim/09_uebung4e_mit_schleife.ras new file mode 100644 index 0000000..a9f6fb4 --- /dev/null +++ b/4_loesungen/02_mikrosim/09_uebung4e_mit_schleife.ras @@ -0,0 +1,37 @@ +; MikrSimD-RAM-Assembler: Übung4e_mit_schleife.ras +; +RAS OP nn Befehl +00 12 31 MOV AX, 31 +02 45 00 ADD BX,[AX] +04 36 39 SUB AX, 39 +06 6B 0C JZ 0C +08 2E 3A ADD AX, 3A +0A 63 02 JMP 02 +0C 25 30 MOV [30],BX +0E 7C 00 HALT +10 00 00 +12 00 00 +14 00 00 +16 00 00 +18 00 00 +1A 00 00 +1C 00 00 +1E 00 00 +20 00 00 +22 00 00 +24 00 00 +26 00 00 +28 00 00 +2A 00 00 +2C 00 00 +2E 00 00 +30 00 02 +32 03 04 +34 2D 06 +36 07 08 +38 09 01 + + +; Variablendefinitionen +VAR +30 erg diff --git a/4_loesungen/02_mikrosim/10_spruenge.ras b/4_loesungen/02_mikrosim/10_spruenge.ras new file mode 100644 index 0000000..b37afc1 --- /dev/null +++ b/4_loesungen/02_mikrosim/10_spruenge.ras @@ -0,0 +1,20 @@ +; MikrSimD-RAM-Assembler: spruenge.ras +; +RAS OP nn +00 10 21 MOV AX,[21] +02 5E 00 DEC AX +04 65 0A JS 0A +06 3F 20 ADD BX,[20] +08 63 02 JMP 02 +0A 25 22 MOV[22],BX +0C 7C 00 HALT +0E 00 00 +10 0000 00 +12 00 00 +14 00 00 +16 00 00 +18 00 00 +1A 00 08 +1C 00 00 +1E 00 00 +20 0A 03 diff --git a/4_loesungen/02_mikrosim/11_uebung5b.ras b/4_loesungen/02_mikrosim/11_uebung5b.ras new file mode 100644 index 0000000..88b4b5d --- /dev/null +++ b/4_loesungen/02_mikrosim/11_uebung5b.ras @@ -0,0 +1,27 @@ +; MikrSimD-RAM-Assembler: Übung5b.ras +; +RAS OP nn Befehl +00 10 20 MOV AX,[20] +02 34 21 SUB AX,[21] +04 65 0A JS 0A +06 24 01 MOV BX, 01 +08 25 22 MOV [22],BX +0A 63 10 JMP 10 +0C 24 00 MOV BX, 00 +0E 25 22 MOV [22],BX +10 7C 00 HALT +12 00 00 +14 00 00 +16 00 00 +18 00 00 +1A 00 00 +1C 00 00 +1E 00 00 +20 55 31 + + +; Variablendefinitionen +VAR +20 ? +21 ? +22 ? diff --git a/4_loesungen/02_mikrosim/12_uebung5d.ras b/4_loesungen/02_mikrosim/12_uebung5d.ras new file mode 100644 index 0000000..d0a25ca --- /dev/null +++ b/4_loesungen/02_mikrosim/12_uebung5d.ras @@ -0,0 +1,14 @@ +; MikrSimD-RAM-Assembler: Übung5d.ras +; +RAS OP nn Befehl +00 12 0A MOV AX, 0A +02 43 00 ADD BX, AX +04 5E 00 DEC AX +06 73 02 JNZ 02 +08 25 10 MOV [10],BX +0A 7C 00 HALT + + +; Variablendefinitionen +VAR +10 erg diff --git a/4_loesungen/02_mikrosim/13_uebung5g.ras b/4_loesungen/02_mikrosim/13_uebung5g.ras new file mode 100644 index 0000000..0479bda --- /dev/null +++ b/4_loesungen/02_mikrosim/13_uebung5g.ras @@ -0,0 +1,35 @@ +; MikrSimD-RAM-Assembler: Übung5g.ras +; +RAS OP nn Befehl +00 24 31 MOV BX, 31 +02 19 30 MOV [30],AX +04 13 00 MOV AX,[BX] +06 6B 12 JZ 12 +08 10 30 MOV AX,[30] +0A 2F 00 ADD AX,[BX] +0C 19 30 MOV [30],AX +0E 5C 00 INC BX +10 63 04 JMP 04 +12 7C 00 HALT +14 00 00 +16 00 00 +18 00 00 +1A 00 00 +1C 00 00 +1E 00 00 +20 00 00 +22 00 00 +24 00 00 +26 00 00 +28 00 00 +2A 00 00 +2C 00 00 +2E 00 00 +30 00 2 +32 7F E3 +34 1 00 + + +; Variablendefinitionen +VAR +30 erg diff --git a/4_loesungen/02_mikrosim/14_uebung6a_ggt.ras b/4_loesungen/02_mikrosim/14_uebung6a_ggt.ras new file mode 100644 index 0000000..219b4ab --- /dev/null +++ b/4_loesungen/02_mikrosim/14_uebung6a_ggt.ras @@ -0,0 +1,23 @@ +; MikrSimD-RAM-Assembler: Übung6a_ggt.ras +; +RAS OP nn Befehl +00 10 2E MOV AX,[2E] +02 34 2F SUB AX,[2F] +04 6B 14 JZ 14 +06 68 10 JNS 10 +08 10 2F MOV AX,[2F] +0A 34 2E SUB AX,[2E] +0C 19 2F MOV [2F],AX +0E 63 00 JMP 00 +10 19 2E MOV [2E],AX +12 63 00 JMP 00 +14 10 2E MOV AX,[2E] +16 19 30 MOV [30],AX +18 7C 00 HALT + + +; Variablendefinitionen +VAR +2E a +2F b +30 ggt diff --git a/4_loesungen/02_mikrosim/15_uebung6b_division.ras b/4_loesungen/02_mikrosim/15_uebung6b_division.ras new file mode 100644 index 0000000..6591cc1 --- /dev/null +++ b/4_loesungen/02_mikrosim/15_uebung6b_division.ras @@ -0,0 +1,36 @@ +; MikrSimD-RAM-Assembler: Übung6b_division.ras +; +RAS OP nn Befehl +00 19 32 MOV [32],AX +02 10 31 MOV AX,[31] +04 34 30 SUB AX,[30] +06 68 12 JNS 12 +08 10 30 MOV AX,[30] +0A 34 31 SUB AX,[31] +0C 19 30 MOV [30],AX +0E 51 32 INC [32] +10 63 02 JMP 02 +12 10 30 MOV AX,[30] +14 19 33 MOV [33],AX +16 7C 00 HALT +18 00 00 +1A 00 00 +1C 00 00 +1E 00 00 +20 00 00 +22 00 00 +24 00 00 +26 00 00 +28 00 00 +2A 00 00 +2C 00 00 +2E 00 00 +30 22 03 MOV BX,[03] + + +; Variablendefinitionen +VAR +30 a +31 b +32 d +33 r diff --git a/4_loesungen/02_mikrosim/16_uebung6b_fak.ras b/4_loesungen/02_mikrosim/16_uebung6b_fak.ras new file mode 100644 index 0000000..15a6096 --- /dev/null +++ b/4_loesungen/02_mikrosim/16_uebung6b_fak.ras @@ -0,0 +1,37 @@ +; MikrSimD-RAM-Assembler: Übung6b_fak.ras +; +RAS OP nn Befehl +00 12 01 MOV AX, 01 +02 19 31 MOV [31],AX +04 12 01 MOV AX, 01 +06 19 32 MOV [32],AX +08 10 30 MOV AX,[30] +0A 34 32 SUB AX,[32] +0C 65 2A JS 2A +0E 10 31 MOV AX,[31] +10 19 33 MOV [33],AX +12 12 01 MOV AX, 01 +14 19 34 MOV [34],AX +16 10 34 MOV AX,[34] +18 34 32 SUB AX,[32] +1A 68 26 JNS 26 +1C 10 31 MOV AX,[31] +1E 2C 33 ADD AX,[33] +20 19 31 MOV [31],AX +22 51 34 INC [34] +24 63 16 JMP 16 +26 51 32 INC [32] +28 63 08 JMP 08 +2A 7C 00 HALT +2C 00 00 +2E 00 00 +30 05 00 + + +; Variablendefinitionen +VAR +30 n +31 f +32 a +33 d +34 b diff --git a/4_loesungen/02_mikrosim/17_uebung6b_fibb.ras b/4_loesungen/02_mikrosim/17_uebung6b_fibb.ras new file mode 100644 index 0000000..03d1362 --- /dev/null +++ b/4_loesungen/02_mikrosim/17_uebung6b_fibb.ras @@ -0,0 +1,36 @@ +; MikrSimD-RAM-Assembler: Übung6b_fibb.ras +; +RAS OP nn Befehl +00 10 30 MOV AX,[30] +02 36 03 SUB AX, 03 +04 68 0C JNS 0C +06 12 01 MOV AX, 01 +08 19 31 MOV [31],AX +0A 63 2E JMP 2E +0C 12 01 MOV AX, 01 +0E 19 32 MOV [32],AX +10 19 33 MOV [33],AX +12 56 30 DEC [30] +14 56 30 DEC [30] +16 10 30 MOV AX,[30] +18 5E 00 DEC AX +1A 65 2E JS 2E +1C 10 32 MOV AX,[32] +1E 2C 33 ADD AX,[33] +20 19 31 MOV [31],AX +22 10 32 MOV AX,[32] +24 19 33 MOV [33],AX +26 10 31 MOV AX,[31] +28 19 32 MOV [32],AX +2A 56 30 DEC [30] +2C 63 16 JMP 16 +2E 7C 00 HALT +30 05 00 + + +; Variablendefinitionen +VAR +30 n +31 f +32 v +33 w diff --git a/4_loesungen/02_mikrosim/18_uebung6b_potenz.ras b/4_loesungen/02_mikrosim/18_uebung6b_potenz.ras new file mode 100644 index 0000000..a9247c6 --- /dev/null +++ b/4_loesungen/02_mikrosim/18_uebung6b_potenz.ras @@ -0,0 +1,37 @@ +; MikrSimD-RAM-Assembler: Übung6b_potenz.ras +; +RAS OP nn Befehl +00 12 01 MOV AX, 01 +02 19 32 MOV [32],AX +04 10 31 MOV AX,[31] +06 5E 00 DEC AX +08 65 26 JS 26 +0A 10 32 MOV AX,[32] +0C 19 33 MOV [33],AX +0E 12 01 MOV AX, 01 +10 19 34 MOV [34],AX +12 10 34 MOV AX,[34] +14 34 30 SUB AX,[30] +16 68 22 JNS 22 +18 10 32 MOV AX,[32] +1A 2C 33 ADD AX,[33] +1C 19 32 MOV [32],AX +1E 51 34 INC [34] +20 63 12 JMP 12 +22 56 31 DEC [31] +24 63 04 JMP 04 +26 7C 00 HALT +28 00 00 +2A 00 00 +2C 00 00 +2E 00 00 +30 03 04 + + +; Variablendefinitionen +VAR +30 a +31 b +32 p +33 d +34 c diff --git a/4_loesungen/02_mikrosim/19_uebung6c_bubble.ras b/4_loesungen/02_mikrosim/19_uebung6c_bubble.ras new file mode 100644 index 0000000..b57fd07 --- /dev/null +++ b/4_loesungen/02_mikrosim/19_uebung6c_bubble.ras @@ -0,0 +1,48 @@ +; MikrSimD-RAM-Assembler: Übung6c_bubble.ras +; +RAS OP nn Befehl +00 19 4E MOV [4E],AX +02 10 4E MOV AX,[4E] +04 36 0A SUB AX, 0A +06 68 38 JNS 38 +08 12 09 MOV AX, 09 +0A 19 4F MOV [4F],AX +0C 10 4E MOV AX,[4E] +0E 34 4F SUB AX,[4F] +10 68 34 JNS 34 +12 22 4F MOV BX,[4F] +14 41 50 ADD BX, 50 +16 13 00 MOV AX,[BX] +18 5F 00 DEC BX +1A 38 00 SUB AX,[BX] +1C 68 30 JNS 30 +1E 13 00 MOV AX,[BX] +20 19 4D MOV [4D],AX +22 5C 00 INC BX +24 13 00 MOV AX,[BX] +26 5F 00 DEC BX +28 1C 00 MOV [BX],AX +2A 5C 00 INC BX +2C 10 4D MOV AX,[4D] +2E 1C 00 MOV [BX],AX +30 56 4F DEC [4F] +32 63 0C JMP 0C +34 51 4E INC [4E] +36 63 02 JMP 02 +38 7C 00 HALT +3A 00 00 +3C 00 00 +3E 00 00 +40 00 00 +42 00 00 +44 00 00 +46 00 00 +48 00 00 +4A 00 00 +4C 00 00 +4E 00 00 +50 2D 06 +52 2A 0C MOV BX, AX +54 09 0C +56 17 16 +58 01 57 diff --git a/4_loesungen/02_mikrosim/20_division.mj b/4_loesungen/02_mikrosim/20_division.mj new file mode 100644 index 0000000..2e65c7a --- /dev/null +++ b/4_loesungen/02_mikrosim/20_division.mj @@ -0,0 +1,11 @@ +{ + byte a; byte b; // a,b Parameter + byte d; byte r; // d,r Ergebnis + a = 34; b = 3; + d = 0; + while (a > b) { + a = a - b; + d = d + 1; + }; + r = a; + } \ No newline at end of file diff --git a/4_loesungen/02_mikrosim/21_potenz.mj b/4_loesungen/02_mikrosim/21_potenz.mj new file mode 100644 index 0000000..07076ea --- /dev/null +++ b/4_loesungen/02_mikrosim/21_potenz.mj @@ -0,0 +1,14 @@ +{ + byte a; byte b; // a,b Parameter + byte p; // p Ergebnis + byte c; byte d; // c,d Hilfsvariablen + a = 4; b = 3; + p = 1; + while (b > 0) { + d = p; + for (c = 1; c < a; c=c+1) { + p = p + d; + }; + b = b - 1; + }; +} \ No newline at end of file diff --git a/4_loesungen/02_mikrosim/22_fakultaet.mj b/4_loesungen/02_mikrosim/22_fakultaet.mj new file mode 100644 index 0000000..0d050b3 --- /dev/null +++ b/4_loesungen/02_mikrosim/22_fakultaet.mj @@ -0,0 +1,13 @@ +{ + byte n; // a,b Parameter + byte f; // f Ergebnis + byte a; byte b; byte d; // Hilfsvariablen + n = 5; + f = 1; + for (a=1; a <= n; a = a + 1) { + d = f; + for (b=1; b < a; b = b + 1) { + f = f + d; + }; + }; + } \ No newline at end of file diff --git a/4_loesungen/02_mikrosim/23_fibonacci.mj b/4_loesungen/02_mikrosim/23_fibonacci.mj new file mode 100644 index 0000000..5b4b5ae --- /dev/null +++ b/4_loesungen/02_mikrosim/23_fibonacci.mj @@ -0,0 +1,17 @@ + { + byte n; // n Parameter + byte f; // p Ergebnis + byte v; byte vv; // v, vv Hilfsvariablen + n = 5; + if (n < 3) { + f = 1; + } else { + v = 1; vv = 1; + n = n - 2; + while (n>0) { + f = v + vv; + v = vv; vv = f; + n = n -1; + }; + }; +} \ No newline at end of file diff --git a/4_loesungen/02_mikrosim_loesung.odt b/4_loesungen/02_mikrosim_loesung.odt new file mode 100644 index 0000000..7096bff Binary files /dev/null and b/4_loesungen/02_mikrosim_loesung.odt differ diff --git a/4_loesungen/03_minetest/01_loesung_in_minetest_anzeigen.txt b/4_loesungen/03_minetest/01_loesung_in_minetest_anzeigen.txt new file mode 100644 index 0000000..3c653ed --- /dev/null +++ b/4_loesungen/03_minetest/01_loesung_in_minetest_anzeigen.txt @@ -0,0 +1 @@ +Entpacken Sie die Zip-Datei und kopieren Sie das Verzeichnis "logische_schaltungen_loesung" in Minetest in den Unterordner "Worlds". \ No newline at end of file diff --git a/4_loesungen/03_minetest/01_logische_schaltungen_loesung.zip b/4_loesungen/03_minetest/01_logische_schaltungen_loesung.zip new file mode 100644 index 0000000..0b00779 Binary files /dev/null and b/4_loesungen/03_minetest/01_logische_schaltungen_loesung.zip differ diff --git a/5_praesentationen/01_geschichtedesrechners.odp b/5_praesentationen/01_geschichtedesrechners.odp new file mode 100644 index 0000000..51de647 Binary files /dev/null and b/5_praesentationen/01_geschichtedesrechners.odp differ diff --git a/5_praesentationen/02_vomtransistorzumgatter.odp b/5_praesentationen/02_vomtransistorzumgatter.odp new file mode 100644 index 0000000..908779f Binary files /dev/null and b/5_praesentationen/02_vomtransistorzumgatter.odp differ diff --git a/5_praesentationen/03_vomgatterzumregister.odp b/5_praesentationen/03_vomgatterzumregister.odp new file mode 100644 index 0000000..b569538 Binary files /dev/null and b/5_praesentationen/03_vomgatterzumregister.odp differ diff --git a/5_praesentationen/04_wiederholung_binaersystem.odp b/5_praesentationen/04_wiederholung_binaersystem.odp new file mode 100644 index 0000000..d8897e2 Binary files /dev/null and b/5_praesentationen/04_wiederholung_binaersystem.odp differ diff --git a/5_praesentationen/05_subtraktion.odp b/5_praesentationen/05_subtraktion.odp new file mode 100644 index 0000000..e95a08b Binary files /dev/null and b/5_praesentationen/05_subtraktion.odp differ diff --git a/5_praesentationen/06_schleifen_entscheidungen_in_mikrosim.odp b/5_praesentationen/06_schleifen_entscheidungen_in_mikrosim.odp new file mode 100644 index 0000000..8be1e1b Binary files /dev/null and b/5_praesentationen/06_schleifen_entscheidungen_in_mikrosim.odp differ diff --git a/6_software/01_circuits/01_circuit.url b/6_software/01_circuits/01_circuit.url new file mode 100644 index 0000000..e287b01 --- /dev/null +++ b/6_software/01_circuits/01_circuit.url @@ -0,0 +1,7 @@ +[{000214A0-0000-0000-C000-000000000046}] +Prop3=19,11 +[InternetShortcut] +IDList= +URL=https://www.falstad.com/circuit/ +IconFile=https://www.falstad.com/circuit/favicon.ico +IconIndex=1 diff --git a/6_software/02_logicsim/01_installation_logicsim.odt b/6_software/02_logicsim/01_installation_logicsim.odt new file mode 100644 index 0000000..2dcb49a Binary files /dev/null and b/6_software/02_logicsim/01_installation_logicsim.odt differ diff --git a/6_software/02_logicsim/02_logicsim.zip b/6_software/02_logicsim/02_logicsim.zip new file mode 100644 index 0000000..790d31c Binary files /dev/null and b/6_software/02_logicsim/02_logicsim.zip differ diff --git a/6_software/03_piiri-4.1-windows/01_piiri4_alternative_schaltungssimulation.url b/6_software/03_piiri-4.1-windows/01_piiri4_alternative_schaltungssimulation.url new file mode 100644 index 0000000..1080cf2 --- /dev/null +++ b/6_software/03_piiri-4.1-windows/01_piiri4_alternative_schaltungssimulation.url @@ -0,0 +1,5 @@ +[{000214A0-0000-0000-C000-000000000046}] +Prop3=19,11 +[InternetShortcut] +IDList= +URL=https://launchpad.net/piiri/4.x diff --git a/6_software/04_minetest-0.4.17/01_installation_minetest.odt b/6_software/04_minetest-0.4.17/01_installation_minetest.odt new file mode 100644 index 0000000..9248f87 Binary files /dev/null and b/6_software/04_minetest-0.4.17/01_installation_minetest.odt differ diff --git a/6_software/04_minetest-0.4.17/02_minetest-0.4.17.zip b/6_software/04_minetest-0.4.17/02_minetest-0.4.17.zip new file mode 100644 index 0000000..a42d155 Binary files /dev/null and b/6_software/04_minetest-0.4.17/02_minetest-0.4.17.zip differ diff --git a/6_software/05_mikrosim/01_installation_mikrsimd.odt b/6_software/05_mikrosim/01_installation_mikrsimd.odt new file mode 100644 index 0000000..62f894f Binary files /dev/null and b/6_software/05_mikrosim/01_installation_mikrsimd.odt differ diff --git a/6_software/05_mikrosim/02_mikrsimd.exe b/6_software/05_mikrosim/02_mikrsimd.exe new file mode 100644 index 0000000..618815f Binary files /dev/null and b/6_software/05_mikrosim/02_mikrsimd.exe differ diff --git a/6_software/06_minijava-compiler/01_compile.bat b/6_software/06_minijava-compiler/01_compile.bat new file mode 100644 index 0000000..f134842 --- /dev/null +++ b/6_software/06_minijava-compiler/01_compile.bat @@ -0,0 +1,5 @@ +@echo off +set /p var=Bitte geben Sie den Dateinamen der MiniJava-Datei (ohne .mj) an: +java -jar 02_minijavacompiler.jar %var% +java -jar 03_mikrosimassembler.jar %var% 04_firmware2.mpd +pause diff --git a/6_software/06_minijava-compiler/02_minijavacompiler.jar b/6_software/06_minijava-compiler/02_minijavacompiler.jar new file mode 100644 index 0000000..aeedb95 Binary files /dev/null and b/6_software/06_minijava-compiler/02_minijavacompiler.jar differ diff --git a/6_software/06_minijava-compiler/03_mikrosimassembler.jar b/6_software/06_minijava-compiler/03_mikrosimassembler.jar new file mode 100644 index 0000000..01533ff Binary files /dev/null and b/6_software/06_minijava-compiler/03_mikrosimassembler.jar differ diff --git a/6_software/06_minijava-compiler/04_firmware2.mpd b/6_software/06_minijava-compiler/04_firmware2.mpd new file mode 100644 index 0000000..ae8125e --- /dev/null +++ b/6_software/06_minijava-compiler/04_firmware2.mpd @@ -0,0 +1,230 @@ +; MikrSimD-Programm-Speicher: CCAT-Ltb.mpd +; +AD Befehl 0 1 2 3 4 5 6 7 8 9 A B C D E F FA +00 MOV OP, [IP] . . . . . 5 . . 8 . . . . . . . 01 +01 . . . . . . . . . . . . C . . . 02 +02 . . . . . . 6 . . 9 . . . . . . 03 +03 INC IP . . . . 4 5 . 7 . . . . . . . . 04 +04 MOV DR, [IP] . . . . . 5 . . 8 . . . . . . . 05 +05 . . . . . . . . . . . . C . . . 06 +06 INC IP . . . . 4 5 . 7 . . . . . . . . 07 +07 do command . . . . . . . . . . . . . . . F 00 +08 ************ . . . . . . . . . . . . . . . . 09 +09 ;***** MOVs . . . . . . . . . . . . . . . . 0A +0A mov AX, [nn] . . . . . . . . 8 9 . . . . . . 0B +0B . . . . . . . . . . . . C . . . 0C +0C 0 . . . . . . . . 9 . . . . . . 00 +0D mvAX,[BX+nn] . . . 3 . . . . 8 9 . . . . . . 0E +0E . . . . . . . . . . . . C . . . 0F +0F 0 . . . . . . . . 9 . . . . . . 00 +10 mov AX, nn 0 . . . . . . . . 9 . . . . . . 00 +11 mov [nn], AX . . . . . . . . 8 9 . . . . . . 12 +12 . 1 . . . . . . . . A . . . . . 13 +13 . . . . . . . . . . . B . . . . 00 +14 mv[BX+nn],AX . . . 3 . . . . 8 9 . . . . . . 15 +15 . 1 . . . . . . . . A . . . . . 16 +16 . . . . . . . . . . . B . . . . 00 +17 mov BX, [nn] . . . . . . . . 8 9 . . . . . . 18 +18 . . . . . . . . . . . . C . . . 19 +19 . . 2 . . . . . . 9 . . . . . . 00 +1A mov BX, nn . . 2 . . . . . . 9 . . . . . . 00 +1B mov [nn], BX . . . . . . . . 8 9 . . . . . . 1C +1C . . . 3 . . . . . . A . . . . . 1D +1D . . . . . . . . . . . B . . . . 00 +1E mov AX, BX 0 . . 3 . . . . . . . . . . . . 00 +1F mov BX, AX . 1 2 . . . . . . . . . . . . . 00 +20 SWAP AX,BX . 1 . . . . . . . . A . . . . . 21 +21 0 . . 3 . . . . . . . . . . . . 22 +22 . . 2 . . . . . . 9 . . . . . . 00 +23 CLR [nn] . . . . . . . . 8 9 . . . . . . 24 +24 . . . . . . . . . . A . . . . . 25 +25 . . . . . . . . . . . B . . . . 00 +26 CLR [BX+nn] . . . 3 . . . . 8 9 . . . . . . 27 +27 . . . . . . . . . . A . . . . . 28 +28 . . . . . . . . . . . B . . . . 00 +29 ;********** . . . . . . . . . . . . . . . . 2A +2A ;*** ADD&SUB . . . . . . . . . . . . . . . . 2B +2B ADD nn 0 1 . . . . . . . 9 . . . . . . 00 +2C ADD AX . 1 . . . . . . . . A . . . . . 2D +2D 0 1 . . . . . . . 9 . . . . . . 00 +2E ADD BX . . . 3 . . . . . . A . . . . . 2F +2F 0 1 . . . . . . . 9 . . . . . . 30 +30 ADD [nn] . . . . . . . . 8 9 . . . . . . 31 +31 . . . . . . . . . . . . C . . . 32 +32 0 1 . . . . . . . 9 . . . . . . 00 +33 ADD [BX+nn] . . . 3 . . . . 8 9 . . . . . . 34 +34 . . . . . . . . . . . . C . . . 35 +35 0 1 . . . . . . . 9 . . . . . . 00 +36 SUB nn 0 1 . . . . . . . 9 . . . D . . 00 +37 SUB AX . 1 . . . . . . . . A . . . . . 38 +38 0 1 . . . . . . . 9 . . . D . . 00 +39 SUB BX . . . 3 . . . . . . A . . . . . 3A +3A 0 . . . . . . . . 9 . . . D . . 00 +3B SUB [nn] . . . . . . . . 8 9 . . . . . . 3C +3C . . . . . . . . . . . . C . . . 3D +3D 0 1 . . . . . . . 9 . . . D . . 00 +3E SUB [BX+nn] . . . 3 . . . . 8 9 . . . . . . 3F +3F . . . . . . . . . . . . C . . . 40 +40 0 1 . . . . . . . 9 . . . D . . 00 +41 ADD BX, nn . . 2 3 . . . . . 9 . . . . . . 42 +42 ADD BX,[nn] . . . . . . . . 8 9 . . . . . . 43 +43 . . . . . . . . . . . . C . . . 44 +44 . . 2 3 . . . . . 9 . . . . . . 00 +45 SUB BX, nn . . 2 3 . . . . . 9 . . . D . . 00 +46 NEG AX . 1 . . . . . . . . A . . . . . 47 +47 0 . . . . . . . . 9 . . . D . . 00 +48 ;********** . . . . . . . . . . . . . . . . 49 +49 ;*** inc&dec . . . . . . . . . . . . . . . . 4A +4A INC AX 0 1 . . . . . 7 . . . . . . . . 00 +4B DEC AX 0 1 . . . . . 7 . . . . . D . . 00 +4C INC BX . . 2 3 . . . 7 . . . . . . . . 00 +4D DEC BX . . 2 3 . . . 7 . . . . . D . . 00 +4E INC [nn] . . . . . . . . 8 9 . . . . . . 4F +4F . . . . . . . . . . . . C . . . 50 +50 0 . . . . . . . . 9 . . . . . . 51 +51 0 1 . . . . . 7 . . A . . . . . 52 +52 . . . . . . . . . . . B . . . . 00 +53 DEC [nn] . . . . . . . . 8 9 . . . . . . 54 +54 . . . . . . . . . . . . C . . . 55 +55 0 . . . . . . . . 9 . . . . . . 56 +56 0 1 . . . . . 7 . . . . . D . . 00 +57 INC [BX+nn] . . . 3 . . . . 8 9 . . . . . . 58 +58 . . . . . . . . . . . . C . . . 59 +59 0 . . . . . . . . 9 . . . . . . 5A +5A 0 1 . . . . . 7 . . A . . . . . 5B +5B . . . . . . . . . . . B . . . . 00 +5C DEC [BX+nn] . . . 3 . . . . 8 9 . . . . . . 5D +5D . . . . . . . . . . . . C . . . 5E +5E 0 . . . . . . . . 9 . . . . . . 5F +5F 0 1 . . . . . 7 . . A . . D . . 60 +60 . . . . . . . . . . . B . . . . 00 +61 ;********** . . . . . . . . . . . . . . . . 62 +62 ;** Spruenge . . . . . . . . . . . . . . . . 63 +63 JP nn . . . . 4 . . . . 9 . . . . . . 00 +64 JP [nn] . . . . . . . . 8 9 . . . . . . 65 +65 . . . . . . . . . . . . C . . . 66 +66 . . . . 4 . . . . . . . . . . . 00 +67 JPS nn . . . . . . . . . . . . . . E . 68 +68 . . . . . . . . . . . . . . . . 00 +69 . . . . 4 . . . . 9 . . . . . . 00 +6A JPNS nn . . . . . . . . . . . . . . E . 6B +6B . . . . 4 . . . . 9 . . . . . . 00 +6C . . . . . . . . . . . . . . . . 00 +6D JR nn . . . . 4 5 . 7 . . . . . D . . 6E +6E . . . . 4 5 . 7 . . . . . D . . 6F +6F . . . . 4 5 . . . 9 . . . . . . 00 +70 JRS nn . . . . . . . . . . . . . . E . 71 +71 . . . . . . . . . . . . . . . . 00 +72 . . . . 4 5 . 7 . . . . . D . . 73 +73 . . . . 4 5 . 7 . . . . . D . . 74 +74 . . . . 4 5 . . . 9 . . . . . . 00 +75 JRNS nn . . . . . . . . . . . . . . E . 76 +76 . . . . 4 5 . . . 9 . . . . . . 78 +77 . . . . . . . . . . . . . . . . 00 +78 . . . . 4 5 . 7 . . . . . D . . 79 +79 . . . . 4 5 . 7 . . . . . D . . 00 +7A CALL nn . . . . 4 5 . 7 . . . . . D . . 7B +7B . . . 3 . . . . 8 . . . . . . . 7C +7C . . . . . 5 . 7 . . A . . . . . 7D +7D . . . . . . . . . . . B . . . . 7E +7E . . . . . 5 . . 8 . . . . . . . 7F +7F . . . . . . . . . . . . C . . . 80 +80 . . 2 3 . . . 7 . . . . . D . . 81 +81 . . . . 4 . . . . 9 . . . . . . 00 +82 RET . . 2 3 . . . 7 8 . . . . . . . 83 +83 . . . . . . . . . . . . C . . . 84 +84 . . . . 4 . . . . 9 . . . . . . 00 +85 . . . . . . . . . . . . . . . . 85 +86 HALT . . . . . . . . . . . . . . . . 86 +87 ;********** . . . . . . . . . . . . . . . . 88 +88 ;*** Stack . . . . . . . . . . . . . . . . 89 +89 PUSH AX . . . 3 . . . . 8 . . . . . . . 8A +8A . 1 . . . . . . . . A . . . . . 8B +8B . . . . . . . . . . . B . . . . 8C +8C . . 2 3 . . . 7 . . . . . D . . 00 +8D POP AX . . 2 3 . . . 7 8 . . . . . . . 8E +8E . . . . . . . . . . . . C . . . 8F +8F 0 . . . . . . . . 9 . . . . . . 00 +90 ADDSTACK . . 2 3 . . . 7 8 . . . . . . . 91 +91 . . . . . . . . . . . . C . . . 92 +92 0 . . . . . . . . 9 . . . . . . 93 +93 . . . 3 . . . 7 8 . . . . . . . 94 +94 . . . . . . . . . . . . C . . . 95 +95 0 1 . . . . . . . 9 . . . . . . 96 +96 . 1 . . . . . . . . A . . . . . 97 +97 . . . . . . . . . . . B . . . . 00 +98 SUBSTACK . . 2 3 . . . 7 . . . . . . . . 99 +99 . . 2 3 . . . 7 8 . . . . . . . 9A +9A . . . . . . . . . . . . C . . . 9B +9B 0 . . . . . . . . 9 . . . . . . 9C +9C . . 2 3 . . . 7 8 . . . . D . . 9D +9D . . . . . . . . . . . . C . . . 9E +9E 0 1 . . . . . . . 9 . . . D . . 9F +9F . 1 . . . . . . . . A . . . . . A0 +A0 . . . 3 . . . 7 8 . . . . . . . A1 +A1 . . . . . . . . . . . B . . . . 00 +A2 NEGSTACK . . . 3 . . . 7 8 . . . . . . . A3 +A3 . . . . . . . . . . . . C . . . A4 +A4 0 . . . . . . . . 9 A . . D . . A5 +A5 . . . . . . . . . . . B . . . . 00 +A6 PUSH nn . . . 3 . . . . 8 . . . . . . . A7 +A7 . . . . . . . . . . . B . . . . A8 +A8 . . 2 3 . . . 7 . . . . . D . . 00 +A9 PUSH [nn] . . . . . . . . 8 9 . . . . . . AA +AA . . . . . . . . . . . . C . . . AB +AB . . . 3 . . . . 8 . . . . . . . AC +AC . . . . . . . . . . . B . . . . AD +AD . . 2 3 . . . 7 . . . . . D . . 00 +AE POP [nn] . . . 3 . . . . 8 . . . . . . . AF +AF . 1 . . . . . . . . A . . . . . B0 +B0 . . . . . . . . . . . B . . . . B1 +B1 . . . 3 . . . 7 8 . . . . . . . B2 +B2 . . . . . . . . . . . . C . . . B3 +B3 0 . . . . . . . . 9 . . . . . . B4 +B4 . . . . . 5 . 7 8 . . . . D . . B5 +B5 . . . . . . . . . . . . C . . . B6 +B6 . . . . . . . . 8 9 . . . . . . B7 +B7 . 1 . . . . . . . . A . . . . . B8 +B8 . . . . . . . . . . . B . . . . B9 +B9 . . . 3 . . . . 8 . . . . . . . BA +BA . . . . . . . . . . . . C . . . BB +BB 0 . . . . . . . . 9 . . . . . . BC +BC . . 2 3 . . . 7 . . . . . . . . 00 +BD SWAPSTACK . . . 3 . . . 7 8 . . . . . . . BE +BE . . . . . . . . . . . . C . . . BF +BF . . . 3 . . . . 8 . . . . . . . C0 +C0 . . . . . . . . . . . B . . . . C1 +C1 . . 2 3 . . . 7 . . . . . . . . C2 +C2 . . . 3 . . . 7 8 . . . . . . . C3 +C3 . . . . . . . . . . . . C . . . C4 +C4 . . . 3 . . . . 8 . . . . . . . C5 +C5 . . . . . . . . . . . B . . . . C6 +C6 . . . 3 . . . 7 8 . . . . D . . C7 +C7 . . . . . . . . . . . . C . . . C8 +C8 . . . 3 . . . 7 8 . . . . . . . C9 +C9 . . . . . . . . . . . B . . . . CA +CA . . 2 3 . . . 7 . . . . . D . . 00 +CB SWAPSTACK,AX . . . 3 . . . . 8 . . . . . . . CC +CC . 1 . . . . . . . . A . . . . . CD +CD . . . . . . . . . . . B . . . . CE +CE . . . 3 . . . 7 8 . . . . . . . CF +CF . . . . . . . . . . . . C . . . D0 +D0 0 . . . . . . . . 9 . . . . . . D1 +D1 . . . 3 . . . . 8 . . . . . . . D2 +D2 . . . . . . . . . . . . C . . . D3 +D3 . . . 3 . . . 7 8 . . . . . . . D4 +D4 . . . . . . . . . . . B . . . . 00 +D5 JPZ nn . . . . . . . . . . . . . . E . D6 +D6 0 1 . . . . . 7 . . . . . D . . D8 +D7 . . . . . . . . . . . . . . . . 00 +D8 . . . . . . . . . . . . . . E . D9 +D9 0 1 . . . . . 7 . . . . . . . . 00 +DA 0 1 . . . . . 7 . . . . . . . . DB +DB . . . . 4 . . . . 9 . . . . . . 00 +DC JPNZ nn . . . . . . . . . . . . . . E . DD +DD 0 1 . . . . . 7 . . . . . D . . DF +DE . . . . 4 . . . . 9 . . . . . . 00 +DF . . . . . . . . . . . . . . E . E0 +E0 0 1 . . . . . 7 . . . . . . . . E2 +E1 0 1 . . . . . 7 . . . . . . . . 00 +E2 . . . . 4 . . . . 9 . . . . . . 00 diff --git a/6_software/06_minijava-compiler/05_benutzung_quelle.odt b/6_software/06_minijava-compiler/05_benutzung_quelle.odt new file mode 100644 index 0000000..e9b67b2 Binary files /dev/null and b/6_software/06_minijava-compiler/05_benutzung_quelle.odt differ diff --git a/README.adoc b/README.adoc new file mode 100644 index 0000000..b1a0d62 --- /dev/null +++ b/README.adoc @@ -0,0 +1,49 @@ += Technische Informatik + +|=== +|Zuordnung| Rechner und Netze +|Klassenstufe| Kursstufe BF und LF +|Bildungsplanbezug | BF, LF +|Werkzeug| MICROSIM, Logicsim, MiniJava, Minetest +|Autoren| T. Schaller +|=== + +== Inhalt + +Das Material beschreibt einen Unterrichtsgang und Hintergrundinformationen zur technischen Informatik beginnend mit der historischen Entwicklung der Rechenmaschine über Transistoren, logische Schaltungen, RS- und D-Flipflop bis zum Halb- und Volladdierer und anschließend zum 8-Bit-Addierwerk. + +## Themen +- Historische Entwicklung der Rechenmaschine +- Transistoren und CMOS-Schaltungen +- elementare Gatter (NOT,AND,OR, NAND) +- logische Bauteile aus CMOS-Bausteinen +- Torsteuerung +- RS-Flipflop +- D-Flipflop +- Halbaddierer +- Volladdierer +- 8-Bit-Addierwerk +- Registermaschine +- Unterrichtsgang zu Assembler-Programmierung in MICROSIM +- von-Neumann-Rechner + +== Bildungsplan-Bezüge +=== 3.1.3 Rechner und Netze - Basisfach +- (8) Aufbau, Funktionsweise (unter anderem Befehlszyklus) und Komponenten (unter +anderem Adressbus, Datenbus, Rechenwerk, Register, Steuerwerk, Speicherwerk) einer Von- +Neumann-Modellmaschine beschreiben +- (9) Mikroprogramme für Assemblerbefehle (zum Beispiel ADD, SUB, JMP) in einer +Simulationsumgebung implementieren + +=== 3.1.3 Rechner und Netze - Leistungsfach +- (2) Aufbau und Funktion von Halbaddierer und Volladdierer beschreiben und daraus in einer +Simulationsumgebung einen Mehrbitaddierer erstellen +- (3) Aufbau und Funktion eines bistabilen Bauteils (zum Beispiel Latch, Flipflop) als Beispiel für einen +1-Bit-Speicher beschreiben und in einer Simulationsumgebung SR-Latch und D-Latch erstellen +- (8) Aufbau, Funktionsweise (unter anderem Befehlszyklus) und Komponenten (unter +anderem Adressbus, Datenbus, Rechenwerk, Register, Steuerwerk, Speicherwerk) einer Von- +Neumann-Modellmaschine beschreiben +- (9) Mikroprogramme für Assemblerbefehle (zum Beispiel ADD, SUB, JMP) in einer +Simulationsumgebung implementieren +- (10) Assembler-Programme für eine Von-Neumann-Modellmaschine (zum Beispiel Multiplikation +natürlicher Zahlen) in einer Simulationsumgebung implementieren diff --git a/hinweis_zu_7z-dateien.txt b/hinweis_zu_7z-dateien.txt new file mode 100644 index 0000000..bb7c82e --- /dev/null +++ b/hinweis_zu_7z-dateien.txt @@ -0,0 +1,6 @@ +Ausführbare Datei sind in 7z-Archiven mit Passwort "lfb". + +Wir übernehmen keine Haftung für durch die Verwendung der Datei entstehende Schäden. Durch den Download der obigen Datei stellen Sie uns von allen Forderungen frei. + +Eine Anleitung für den Umgang mit 7z-Archiven und dem Programm 7-Zip finden Sie hier im Bereich der Medienwerkstatt auf unserem Server: +https://lehrerfortbildung-bw.de/st_digital/medienwerkstatt/dossiers/sonstige/7zip/ diff --git a/readme.adoc b/readme.adoc new file mode 100644 index 0000000..849992d --- /dev/null +++ b/readme.adoc @@ -0,0 +1,11 @@ += Material : + +|=== +|Zuordnung| +|Klassenstufe| +|Bildungsplanbezug | +|Werkzeug| +|Autoren| +|=== + +== Inhalt diff --git a/urheberrecht.pdf b/urheberrecht.pdf new file mode 100644 index 0000000..d312a61 Binary files /dev/null and b/urheberrecht.pdf differ