diff --git a/20220426/alu.jpg b/20220426/alu.jpg new file mode 120000 index 0000000000000000000000000000000000000000..6b948ed703aa8af048f41d06dec9e8a479b9352a --- /dev/null +++ b/20220426/alu.jpg @@ -0,0 +1 @@ +../script/alu.jpg \ No newline at end of file diff --git a/20220426/alu2.pdf b/20220426/alu2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e0d031999f1521220c28875e2a8fd7d7840c0423 Binary files /dev/null and b/20220426/alu2.pdf differ diff --git a/20220426/astabile-kippstufe.png b/20220426/astabile-kippstufe.png new file mode 120000 index 0000000000000000000000000000000000000000..9aade3ccb6f460cd4add8529e3b6db248bcaf856 --- /dev/null +++ b/20220426/astabile-kippstufe.png @@ -0,0 +1 @@ +../common/astabile-kippstufe.png \ No newline at end of file diff --git a/20220426/catcan2.red b/20220426/catcan2.red new file mode 100644 index 0000000000000000000000000000000000000000..f0aa1dcf34b4ecda5fe14a170ec69c6ad3044fe3 --- /dev/null +++ b/20220426/catcan2.red @@ -0,0 +1,21 @@ +;name Cat Can +;author A. Kirchner, F. Uy, minor changes by P. Gerwinski +;assert 1 +; +; Your basic two sweep methodical bomber. +; Fires SPL 0 and JMP -1 at every eight +; addresses, then erases the core with +; DAT bombs. + +start mov trap2, < bomb + mov trap1, < bomb + sub # 6, bomb + jmn start, bomb ; trap loop +set mov # -5, bomb +kill mov bomb, @ bomb + djn kill, bomb ; kill loop +reset jmp set +bomb dat # -8 +trap1 spl 0 +trap2 jmp -1 + end start diff --git a/20220426/chml78b.red b/20220426/chml78b.red new file mode 100644 index 0000000000000000000000000000000000000000..dc12708ab8b5dc93351a6f3fa046a12416b69576 --- /dev/null +++ b/20220426/chml78b.red @@ -0,0 +1,88 @@ +;name Chamaeleon +;version 7.8b (19.9.1991, modifiziert am 12. und 17.11.2012) +;author Peter Gerwinski +;assert 1 + +step equ 97 + +pos dat #42, #-20 + +melden mov hallo, ctrl ; Gefangener Gegner meldet sich + +cntdwn sub #1, ctr ; Runtime-Fallen-Fini +falle spl cntdwn + mov fnum, <hallo + jmn falle, ctr + +fnum dat #0, #(cntdwn - hallo) ; echtes Fini +ctrl djn ctrl, test ; Haupt-Task überwachen + spl piranh +fini mov fnum, <hallo +ctr jmp fini, #MAXPROCESSES + +hallo jmp (fini - ctrl), #(selbst + 20 - hallo) ; Klingel für gefangenen Gegner + +muni2 jmp 1 +muni jmp @42, #(melden - pos) ; Munition + +piranh mov #9, muni ; Piranhas, Version 2.4 +ploop mov @muni, <ppos +pziel mov pmuni, (ppos - 20) + sub #73, pziel + djn ploop, muni +ppos spl @0, #833 + add #653, ppos + jmz piranh, muni +pmuni dat #0, #0 + +start spl ctrl ; Überwachungs-Task aktivieren +loop mov #12, test ; Watchdog zurücksetzen + cmp @pos, <pos ; Gegner mit großer Schrittweite suchen + jmp feuer + sub #step, pos + cmp @pos, <pos + jmp feuer + sub #step, pos + cmp @pos, <pos + jmp feuer + sub #step, pos + jmp loop + +feuer mov pos, psave + add #step, pos +such mov #11, test ; Watchdog + jmn gefu, <pos ; Gegner mit Schrittweite 1 suchen + jmn gefu, <pos + jmn gefu, <pos + jmn gefu, <pos + jmz such, <pos + +gefu cmp pos, spos ; Erkenne dich selbst! + jmn drauf, 1 + mov psave, pos + sub #step, pos + djn loop, selbst + mov hallo, ctrl ; Bei Langeweile: fini + jmp fini + +drauf mov #13, test ; Gegner mit jmp-Bomben eindecken + mov muni, @pos + sub pos, @pos ; Sprung in die Falle + mov muni2, <pos + mov muni2, <pos + mov muni2, <pos + mov muni2, <pos + mov muni2, <pos + mov muni2, <pos + mov psave, pos + sub #step, pos + djn loop, genug + jmp fini ; Zu viel zu Bombardieren: fini und Piranhas + +spos dat #42, #(selbst - pos) +psave dat #0, #0 +test dat #0, #2 +genug dat #0, #10 +selbst dat #0, #37 + + end start diff --git a/20220426/dwarf.red b/20220426/dwarf.red new file mode 100644 index 0000000000000000000000000000000000000000..cac740afd6d0e12d5776948e5f05b3dc24f8f6c3 --- /dev/null +++ b/20220426/dwarf.red @@ -0,0 +1,14 @@ +;redcode +;name Dwarf +;author A. K. Dewdney +;strategy Throw DAT bombs around memory, hitting every 4th memory cell. +;strategy This program was presented in the first Corewar article. + +bomb DAT #0 +dwarf ADD #4, bomb + MOV bomb, @bomb + JMP dwarf + END dwarf ; Programs start at the first line unless + ; an "END start" pseudo-op appears to indicate + ; the first logical instruction. Also, nothing + ; after the END instruction will be assembled. diff --git a/20220426/fini.red b/20220426/fini.red new file mode 100644 index 0000000000000000000000000000000000000000..977eac6472c78624d3aceb9929009d4f48e69341 --- /dev/null +++ b/20220426/fini.red @@ -0,0 +1,16 @@ +;redcode +;name fini +;version (8.1990) +;author Bodo M�ller +;assert 1 + +;+--------------------------------------------------------------------------+ +;| FINI ( = Endstufe von PARALYSE) Version 1.0 by B.M. Aug. '90 | +;+--------------------------------------------------------------------------+ + +NUM DAT #-2 +START MOV NUM, <POS +LOOP JMP START +POS DAT #-3 + + END START diff --git a/20220426/knirps.red b/20220426/knirps.red new file mode 100644 index 0000000000000000000000000000000000000000..befaa2a3da9a8cab5e76207623ac49880453b472 --- /dev/null +++ b/20220426/knirps.red @@ -0,0 +1,5 @@ +;name Knirps +;assert 1 + +start mov 0, 1 + end start diff --git a/20220426/logo-hochschule-bochum-cvh-text-v2.pdf b/20220426/logo-hochschule-bochum-cvh-text-v2.pdf new file mode 120000 index 0000000000000000000000000000000000000000..4aa99b8f81061aca6dcaf43eed2d9efef40555f8 --- /dev/null +++ b/20220426/logo-hochschule-bochum-cvh-text-v2.pdf @@ -0,0 +1 @@ +../common/logo-hochschule-bochum-cvh-text-v2.pdf \ No newline at end of file diff --git a/20220426/logo-hochschule-bochum.pdf b/20220426/logo-hochschule-bochum.pdf new file mode 120000 index 0000000000000000000000000000000000000000..b6b9491e370e499c9276918182cdb82cb311bcd1 --- /dev/null +++ b/20220426/logo-hochschule-bochum.pdf @@ -0,0 +1 @@ +../common/logo-hochschule-bochum.pdf \ No newline at end of file diff --git a/20220426/mice.red b/20220426/mice.red new file mode 100644 index 0000000000000000000000000000000000000000..0b17fb8c6db22239bf870c841e600a24f82a2216 --- /dev/null +++ b/20220426/mice.red @@ -0,0 +1,16 @@ +;name Mice +;author Chip Wendell +;assert 1 + +ptr dat #0 +start mov #12, ptr ; n = 12 +loop mov @ptr, <dest ; *dest = *(ptr+(*ptr)) + djn loop, ptr ; if(--ptr != 0) + ; goto loop + spl @dest ; split(*dest) + add #653, dest ; dest += 653 + jmz start, ptr ; if(!ptr) + ; goto start +dest dat #833 + + end start diff --git a/20220426/nothing.red b/20220426/nothing.red new file mode 100644 index 0000000000000000000000000000000000000000..5d6f3c21f2f19c3929c675c21b1e9a8ff47d8bf1 --- /dev/null +++ b/20220426/nothing.red @@ -0,0 +1,5 @@ +;name Nothing +;assert 1 + +start jmp 0 + end start diff --git a/20220426/pgslides.sty b/20220426/pgslides.sty new file mode 120000 index 0000000000000000000000000000000000000000..5be1416f4216f076aa268901f52a15d775e43f64 --- /dev/null +++ b/20220426/pgslides.sty @@ -0,0 +1 @@ +../common/pgslides.sty \ No newline at end of file diff --git a/20220426/pst-circ-pg.sty b/20220426/pst-circ-pg.sty new file mode 120000 index 0000000000000000000000000000000000000000..81253a45bded27ed7cf1b13b967ae54772b0807d --- /dev/null +++ b/20220426/pst-circ-pg.sty @@ -0,0 +1 @@ +../common/pst-circ-pg.sty \ No newline at end of file diff --git a/20220426/schwingquarz-geoeffnet.jpg b/20220426/schwingquarz-geoeffnet.jpg new file mode 120000 index 0000000000000000000000000000000000000000..6b81f6686fed1aa68ad4bab3e9b993abb1153d6a --- /dev/null +++ b/20220426/schwingquarz-geoeffnet.jpg @@ -0,0 +1 @@ +../common/schwingquarz-geoeffnet.jpg \ No newline at end of file diff --git a/20220426/schwingquarz.jpg b/20220426/schwingquarz.jpg new file mode 120000 index 0000000000000000000000000000000000000000..a5e8e0e99600e7546764afd9b9b384b34d04f8d8 --- /dev/null +++ b/20220426/schwingquarz.jpg @@ -0,0 +1 @@ +../common/schwingquarz.jpg \ No newline at end of file diff --git a/20220426/speicheradressierung-3.png b/20220426/speicheradressierung-3.png new file mode 100644 index 0000000000000000000000000000000000000000..8bd61d0c7055ee701f438ef52eaa7852ff9f1626 Binary files /dev/null and b/20220426/speicheradressierung-3.png differ diff --git a/20220426/springmaus.red b/20220426/springmaus.red new file mode 100644 index 0000000000000000000000000000000000000000..736b40634732161c4b14c35716b086a3fd6ab970 --- /dev/null +++ b/20220426/springmaus.red @@ -0,0 +1,16 @@ +;name Mice --> Springmaus +;author Chip Wendell --> Peter Gerwinski +;assert 1 + +ptr dat #0 +start mov #12, ptr ; n = 12 +loop mov @ptr, <dest ; *dest = *(ptr+(*ptr)) + djn loop, ptr ; if(--ptr != 0) + ; goto loop + jmp @dest ; split(*dest) + add #653, dest ; dest += 653 + jmz start, ptr ; if(!ptr) + ; goto start +dest dat #833 + + end start diff --git a/20220426/takt-zaehler-4.png b/20220426/takt-zaehler-4.png new file mode 100644 index 0000000000000000000000000000000000000000..e44693e6e9229d6c7a44de13079d2861a2595d1a Binary files /dev/null and b/20220426/takt-zaehler-4.png differ