Re: Die üblichen Übungen

<?php
session_start ();
?>

<form method="POST" action="./form20240227.php">
<input type="text" name="2024022701"></input>
<input type="submit">
</form>

<?php
echo session_id () . "<br>n";

setcookie ("2024022702", "Dies ist Cookie 1", time () + 3600);

echo htmlentities (\$_POST ["2024022701"]) . "<br>n";
echo htmlentities (\$_COOKIE ["2024022702"]) . "<br>n";
echo htmlentities (\$_COOKIE ["2024022703"]) . "<br>n";

session_destroy ();
?>

POST http://localhost/mysql20240217/20240227/form20240227.php HTTP/1.1
host: localhost
Cookie: 2024022703=Hallo, das ist Cookie 3
Content-Length: 38
Content-Type: application/x-www-form-urlencoded

2024022701=Hallo, dies ist Variable 1

Trying ::1...
Connected to localhost.
Escape character is '\^]'.
HTTP/1.1 200 OK
Date: Tue, 27 Feb 2024 17:23:03 GMT
Server: Apache/2.4.57 (Debian)
Set-Cookie: PHPSESSID=gk1n8jn5scue2c00m9ijms2am9; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Set-Cookie: 2024022702=Dies%20ist%20Cookie%201; expires=Tue, 27 Feb 2024 18:23:03 GMT; Max-Age=3600
Vary: Accept-Encoding
Content-Length: 223
Content-Type: text/html; charset=UTF-8


<form method="POST" action="./form20240227.php">
<input type="text" name="2024022701"></input>
<input type="submit">
</form>

gk1n8jn5scue2c00m9ijms2am9<br>
Hallo, dies ist Variable 1
<br>
<br>
Hallo, das ist Cookie 3<br>

<?php
session_start ();
include ("/home/david/mysqldata.php");

\$db = new PDO ("mysql: host=localhost", \$MYSQL_USER, \$MYSQL_PASSWORD);

\$sql = "CREATE DATABASE mysql20240227" . session_id ();
\$db->query (\$sql);

\$sql = "USE mysql20240227" . session_id ();
\$db->query (\$sql);

\$sql = "CREATE TABLE a (x1 INTEGER, x2 INTEGER);";
\$db->query (\$sql);

\$sql = "CREATE TABLE b (y1 INTEGER, y2 INTEGER);";
\$db->query (\$sql);

\$sql = "INSERT INTO a (x1, x2) VALUES (0, 0);";
\$db->query (\$sql);

\$sql = "INSERT INTO a (x1, x2) VALUES (0, 1);";
\$db->query (\$sql);

\$sql = "INSERT INTO a (x1, x2) VALUES (1, 0);";
\$db->query (\$sql);

\$sql = "INSERT INTO a (x1, x2) VALUES (1, 1);";
\$db->query (\$sql);

\$sql = "INSERT INTO a (x1, x2) VALUES (2, 7);";
\$db->query (\$sql);

\$sql = "INSERT INTO b (y1, y2) VALUES (0, 1);";
\$db->query (\$sql);

\$sql = "INSERT INTO b (y1, y2) VALUES (1, 0);";
\$db->query (\$sql);

\$sql = "INSERT INTO b (y1, y2) VALUES (2, 7);";
\$db->query (\$sql);

\$sql = "SELECT x1, x2 FROM a;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt->fetch ())
    echo \$row [0] . ", " . \$row [1] . "<br>n";
echo "<br>nn";

\$sql = "SELECT y1, y2 FROM b;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt->fetch ())
    echo \$row [0] . ", " . \$row [1] . "<br>n";
echo "<br>n";

\$sql = "SELECT x1, x2, y1, y2 FROM a INNER JOIN b;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt -> fetch ())
    echo \$row [0] . ", " . \$row [1] . ", " . \$row [2] . ", " . \$row [3] . "<br>n";
echo "<br>n";

\$sql = "DROP DATABASE mysql20240227" . session_id ();
\$db->query (\$sql);

session_destroy ();
?>

0, 0<br>
0, 1<br>
1, 0<br>
1, 1<br>
2, 7<br>
<br>

0, 1<br>
1, 0<br>
2, 7<br>
<br>
0, 0, 0, 1<br>
0, 0, 1, 0<br>
0, 0, 2, 7<br>
0, 1, 0, 1<br>
0, 1, 1, 0<br>
0, 1, 2, 7<br>
1, 0, 0, 1<br>
1, 0, 1, 0<br>
1, 0, 2, 7<br>
1, 1, 0, 1<br>
1, 1, 1, 0<br>
1, 1, 2, 7<br>
2, 7, 0, 1<br>
2, 7, 1, 0<br>
2, 7, 2, 7<br>
<br>

<?php
session_start ();

include ("/home/david/mysqldata.php");

\$db = new PDO ("mysql: host=localhost", \$MYSQL_USER, \$MYSQL_PASSWORD);

\$sql = "CREATE DATABASE q20240227" . session_id ();
\$db->query (\$sql);

\$sql = "USE q20240227" . session_id ();
\$db->query (\$sql);

\$sql = "CREATE TABLE a (x INTEGER);";
\$db->query (\$sql);

\$sql = "CREATE TABLE b (x INTEGER);";
\$db->query (\$sql);

\$sql = "CREATE TABLE c (x INTEGER);";
\$db->query (\$sql);

for (\$i = 0;  \$i < 24;  \$i++) {
    \$sql = "INSERT INTO a (x) VALUES ("" . rand () % 32 . "");";
    \$db->query (\$sql);
    \$sql = "INSERT INTO b (x) VALUES ("" . rand () % 80 . "");";
    \$db->query (\$sql);
    \$sql = "INSERT INTO c (x) VALUES ("" . rand () % 64 . "");";
    \$db->query (\$sql);
}

\$sql = "SELECT x FROM (SELECT x FROM a UNION SELECT x FROM b) x;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt -> fetch ())
    echo \$row [0] . ", ";
echo "<br>n";
\$sql = "SELECT x FROM (SELECT x FROM a UNION SELECT x FROM c) x;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt -> fetch ())
    echo \$row [0] . ", ";
echo "<br>n";

\$sql = "SELECT x FROM (SELECT x FROM b UNION SELECT x FROM c) x;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt -> fetch ())
    echo \$row [0] . ", ";
echo "<br>n";

\$sql = "SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM b) x;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt -> fetch ())
    echo \$row [0] . ", ";
echo "<br>n";

\$sql = "SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM c) x;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt -> fetch ())
    echo \$row [0] . ", ";
echo "<br>n";

\$sql = "SELECT x FROM (SELECT x FROM b INTERSECT SELECT x FROM c) x;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt -> fetch ())
    echo \$row [0] . ", ";
echo "<br>n";

\$sql = "SELECT x FROM (
            SELECT x FROM (SELECT x FROM a UNION SELECT x FROM b) x
                INTERSECT
            SELECT x FROM c
    ) x;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt -> fetch ())
    echo \$row [0] . ", ";
echo "<br>n";

\$sql = "SELECT x FROM (
            SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM c) x
                UNION
            SELECT x FROM (SELECT x FROM b INTERSECT SELECT x FROM c) x
    ) x;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt -> fetch ())
    echo \$row [0] . ", ";
echo "<br>n";

\$sql = "SELECT x FROM (
            SELECT x FROM (SELECT x FROM a UNION SELECT x FROM c) x
                INTERSECT
            SELECT x FROM b
    ) x;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt -> fetch ())
    echo \$row [0] . ", ";
echo "<br>n";

\$sql = "SELECT x FROM (
            SELECT x FROM (SELECT x FROM a INTERSECT SELECT x FROM b) x
                UNION
            SELECT x FROM (SELECT x FROM c INTERSECT SELECT x FROM b) x
    ) x;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt -> fetch ())
    echo \$row [0] . ", ";
echo "<br>n";

\$sql = "SELECT x FROM (
            SELECT x FROM (SELECT x FROM b UNION SELECT x FROM c) x
                INTERSECT
            SELECT x FROM a
    ) x;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt -> fetch ())
    echo \$row [0] . ", ";
echo "<br>n";

\$sql = "SELECT x FROM (
            SELECT x FROM (SELECT x FROM b INTERSECT SELECT x FROM a) x
                UNION
            SELECT x FROM (SELECT x FROM c INTERSECT SELECT x FROM a) x
    ) x;";
\$stmt = \$db->query (\$sql);
while (\$row = \$stmt -> fetch ())
    echo \$row [0] . ", ";
echo "<br>n";


\$sql = "DROP DATABASE q20240227" . session_id ();
\$db->query (\$sql);

session_destroy ();
?>

21, 28, 20, 18, 29, 14, 8, 25, 24, 0, 10, 1, 3, 9, 49, 65, 54, 57, 74, 77, 62, 71, 4, 64, 36, 22, 37, 30, 78, 12, <br>
21, 28, 20, 18, 29, 14, 8, 25, 24, 0, 10, 1, 3, 9, 27, 7, 26, 55, 35, 32, 51, 41, 50, 6, 5, 61, 38, 43, 2, 36, <br>
49, 65, 54, 57, 74, 9, 0, 77, 62, 71, 4, 64, 36, 14, 24, 22, 10, 37, 30, 78, 12, 27, 7, 26, 55, 35, 25, 32, 51, 41, 21, 50, 6, 8, 5, 61, 38, 43, 2, <br>
14, 24, 0, 10, 9, <br>
21, 14, 8, 25, 0, 10, <br>
0, 36, 14, 10, <br>
21, 14, 8, 25, 0, 10, 36, <br>
21, 14, 8, 25, 0, 10, 36, <br>
14, 24, 0, 10, 9, 36, <br>
14, 24, 0, 10, 9, 36, <br>
9, 0, 14, 24, 10, 25, 21, 8, <br>
9, 0, 14, 24, 10, 25, 21, 8, <br>

#!/bin/bash

echo "Hallo Welt"

Hallo Welt

#!/bin/bash

i=0
while [ \$i -lt 10 ]
do
    echo "Hallo zum \$((\$i+1))."
    i=\$((\$i+1))
done

Hallo zum 1.
Hallo zum 2.
Hallo zum 3.
Hallo zum 4.
Hallo zum 5.
Hallo zum 6.
Hallo zum 7.
Hallo zum 8.
Hallo zum 9.
Hallo zum 10.

#!/bin/bash

if [[ "\$1" == "David" \&amp;\&amp; "\$2" == "Vajda" ]]
then
    echo "Das bin ich"
elif [ "\$1" == "David Vajda" ]
then
    echo "Das bin ich"
elif [[ "\$1" == "David" \&amp;\&amp; -z "\$2" ]]
then
    echo "Das koennte ich sein"
elif [[ "\$1" == "Vajda" \&amp;\&amp; -z "\$2" ]]
then
    echo "Das koennte ich sein"
else
    echo "Das bin ich nicht"
fi

#!/bin/bash

/bin/bash ifthenelse.sh "David" "Vajda" >> ifthenelse.out
/bin/bash ifthenelse.sh "David Vajda" >> ifthenelse.out
/bin/bash ifthenelse.sh "David" >> ifthenelse.out
/bin/bash ifthenelse.sh "Vajda" >> ifthenelse.out
/bin/bash ifthenelse.sh "David" "Anton" >> ifthenelse.out
/bin/bash ifthenelse.sh "Vajda" "Anton" >> ifthenelse.out
/bin/bash ifthenelse.sh "David Anton" >> ifthenelse.out
/bin/bash ifthenelse.sh "Max Mustermann" >> ifthenelse.out

Das bin ich
Das bin ich
Das koennte ich sein
Das koennte ich sein
Das bin ich nicht
Das bin ich nicht
Das bin ich nicht
Das bin ich nicht

#!/bin/bash

a=(Hallo Welt)
a+=(sagt David Vajda)

i=0
while [ \$i -lt 7 ]
do
    echo "\${a[\$i]}"
    i=\$((\$i+1))
done

for s in "\${a[@]}"
do
    echo "\$s"
done

Hallo
Welt
sagt
David
Vajda


Hallo
Welt
sagt
David
Vajda

#!/bin/bash

l=\$(ls)

for s in \$l
do
    echo "\$s"
done

array.out
array.sh
exec.out
exec.sh
hello.out
hello.sh
ifthenelseexec.sh
ifthenelse.out
ifthenelse.sh
while.out
while.sh

So, ich gehe noch mal kurz Zigaretten holen, und danach mache ich die schriftliche Multiplikation und Division, IEEE-754, und so weiter.

Gut, jetzt komme IEEE-754-Std. Umrechnung.

 12.78125

 12/2 =     6   Rest 0
 6/2 =      3   Rest 0
 3/2 =      1   Rest 1
 1/2 =      0   Rest 1

 0.78125 * 2 =  1.56250         1
 0.56250 * 2 =  1.1250          1
 0.125 * 2 =    0.25            0
 0.25 * 2 =     0.5             0
 0.5 * 2 =      1.0             1


 0.78125
 0.78125
--------
1.56250

0.56250
0.56250
------
1.1250

1100,11001

1100,11001 = 1,10011001 * 2\^3

normalisiert: 10011001

127 + 3 = 130

130 / 2 =       65      Rest 0
65 / 2 =        32      Rest 1
32 / 2 =        16      Rest 0
16 / 2 =        8       Rest 0
8 / 2 =         4       Rest 0
4 / 2 =         2       Rest 0
2 / 2 =         1       Rest 0
1 / 2 =         0       Rest 1

[0][10000010][10011001]

0100.0001.0100.1100.1000.0000.0000

0x414C800

Gut, kurz eine Rauchen, dann kommen, die schriftliche Dinger, auch Logarithmus berechnen, mit dem Taschenrechner

Heute kommt ausserdem auch - wie es jeden Tag sein muss

- Komplexes Schaltwerk - ASM-Diagramme - Kurzes MIPS Assembler Programm

1.) Rechne die Zahl in binaer Darstellung  in eine Dezimale Darstellung um
0011110001011111b 15455d
2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung um
52699 1100110111011011
3.) Addiere die drei Zahlen schriftlich
            26850
+           21334
+           34580
-----------------
            82764
4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich
            17466
-             304
-           11055
-            5459
-----------------
              648
5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimal
-90 -45 = -135
10100110 11010011 = 01111001
6.) Multipliziere die zwei Zahlen schriftlich
53664*56775 = 3046773600
7.) Dividiere die zwei Zahlen schriftlich
6066/49217 = 0
8.) Errechne x Logarithmisch mit dem Taschenrechner
31743\^x = 1549428720

Image 20240227_195704

Image 20240227_195715

Image 20240227_201402

Image Screenshot_20240227_202610

 0 0 0 0 0    0
 1 0 0 0 1    1
 2 0 0 1 0    1
 3 0 0 1 1    0
 4 0 1 0 0    1
 5 0 1 0 1    0
 6 0 1 1 0    0
 7 0 1 1 1    1
 8 1 0 0 0    0
 9 1 0 0 1    0
10 1 0 1 0    1
11 1 0 1 1    0
12 1 1 0 0    0
13 1 1 0 1    0
14 1 1 1 0    1
15 1 1 1 1    1

 1 0 0 0 1    1
 2 0 0 1 0    1
 4 0 1 0 0    1
 7 0 1 1 1    1
10 1 0 1 0    1
14 1 1 1 0    1
15 1 1 1 1    1


Gruppe 1:
 1 0 0 0 1    1
 2 0 0 1 0    1
 4 0 1 0 0    1
Gruppe 2:
10 1 0 1 0    1
Gruppe 3:
 7 0 1 1 1    1
14 1 1 1 0    1
Gruppe 4:
15 1 1 1 1    1


1               0 0 0 1
2:10            - 0 1 0
4               0 1 0 0
10:14           1 - 1 0
7:15            - 1 1 1
14:15           1 1 1 -


1               0 0 0 1
4               0 1 0 0
2:10            - 0 1 0
7:15            - 1 1 1
10:14           1 - 1 0
14:15           1 1 1 -

                1   2   4   7   10  14  15
1               *
4                       *
2:10                *           *
7:15                        *           *
10:14                           *   *
14:15                               *   *


                1   2   4   7   10  14  15
1               *
4                       *
2:10                *           *
7:15                        *           *
10:14                           *   *



1               0 0 0 1
4               0 1 0 0
2:10            - 0 1 0
7:15            - 1 1 1
10:14           1 - 1 0

    y <= (not x3 and not x2 and not x1 and x0) or
            (not x3 and x2 and not x1 and not x0) or
            (not x2 and x1 and not x0) or
            (x2 and x1 and x0) or
            (x3 and x1 and not x0);
    y <= not (
                (x3 or x2 or x1 or not x0) and
                (x3 or not x2 or x1 or x0) and
                (x2 or not x1 or x0) and
                (not x2 or not x1 or not x0) and
                (not x3 or not x1 or x0)
            );

library ieee;
use ieee.std_logic_1164.all;

entity quine20240227 is
port (
    x3, x2, x1, x0: in std_logic;
    y: out std_logic
);
end;

architecture behaviour of quine20240227 is
begin
    y <= (not x3 and not x2 and not x1 and x0) or
            (not x3 and x2 and not x1 and not x0) or
            (not x2 and x1 and not x0) or
            (x2 and x1 and x0) or
            (x3 and x1 and not x0);
end;

library ieee;
use ieee.std_logic_1164.all;

entity quine20240227testbench is
port (
    y: out std_logic
);
end;

architecture behaviour of quine20240227testbench is
    component quine20240227
    port (
        x3, x2, x1, x0: in std_logic;
        y: out std_logic
    );
    end component;
    signal x3, x2, x1, x0: std_logic;
begin
    q: quine20240227 PORT MAP (x3=>x3, x2=>x2, x1=>x1, x0=>x0, y=>y);

library ieee;
use ieee.std_logic_1164.all;

entity quine20240227 is
port (
    x3, x2, x1, x0: in std_logic;
    y: out std_logic
);
end;

architecture behaviour of quine20240227 is
begin
    y <= (not x3 and not x2 and not x1 and x0) or
            (not x3 and x2 and not x1 and not x0) or
            (not x2 and x1 and not x0) or
            (x2 and x1 and x0) or
            (x3 and x1 and not x0);
end;

library ieee;
use ieee.std_logic_1164.all;

entity quine20240227testbench is
port (
    y: out std_logic
);
end;

architecture behaviour of quine20240227testbench is
    component quine20240227
    port (
        x3, x2, x1, x0: in std_logic;
        y: out std_logic
    );
    end component;
    signal x3, x2, x1, x0: std_logic;
begin
    q: quine20240227 PORT MAP (x3=>x3, x2=>x2, x1=>x1, x0=>x0, y=>y);
    x0 <= '0' after 0 ns, '1' after 10 ns, '0' after 20 ns, '1' after 30 ns, '0' after 40 ns, '1' after 50 ns, '0' after 60 ns, '1' after 70 ns, '0' after 80 ns, '1' after 90 ns, '0' after 100 ns, '1' after 110 ns, '0' after 120 ns, '1' after 130 ns, '0' after 140 ns, '1' after 150 ns;

    x1 <= '0' after 0 ns, '0' after 10 ns, '1' after 20 ns, '1' after 30 ns, '0' after 40 ns, '0' after 50 ns, '1' after 60 ns, '1' after 70 ns, '0' after 80 ns, '0' after 90 ns, '1' after 100 ns, '1' after 110 ns, '0' after 120 ns, '0' after 130 ns, '1' after 140 ns, '1' after 150 ns;

    x2 <= '0' after 0 ns, '0' after 10 ns, '0' after 20 ns, '0' after 30 ns, '1' after 40 ns, '1' after 50 ns, '1' after 60 ns, '1' after 70 ns, '0' after 80 ns, '0' after 90 ns, '0' after 100 ns, '0' after 110 ns, '1' after 120 ns, '1' after 130 ns, '1' after 140 ns, '1' after 150 ns;

    x3 <= '0' after 0 ns, '0' after 10 ns, '0' after 20 ns, '0' after 30 ns, '0' after 40 ns, '0' after 50 ns, '0' after 60 ns, '0' after 70 ns, '1' after 80 ns, '1' after 90 ns, '1' after 100 ns, '1' after 110 ns, '1' after 120 ns, '1' after 130 ns, '1' after 140 ns, '1' after 150 ns;
end;

So, ich mache die Übrigen Aufgaben weiter. Zunächst die Zustandskodierung/Minimierung. Am Ende ein MIPS Programm. Ich denke, ich werde den Binomialkoeffizienten mit MIPS berechnen.

Zustand		Folge-Zustand fuer	Ausgang
			x=0	x=1
1			4	1				0
2			3	4				1
3			4	2				1
4			2	3				1
5			3	3				1
6			4	3				0
7			4	4				1
8			7	2				1


1			4	1				0
6			4	3				0

2			3	4				1
3			4	2				1
4			2	3				1
5			3	3				1
7			4	4				1
8			7	2				1

(1,6)		(4,4)		(1,3)
(2,3)		(3,4)		(4,2)
(2,4)		(3,2)		(4,3)
(2,5)		(3,3)		(4,3)
(2,7)		(3,4)		(4,4)
(2,8)		(3,7)		(4,2)
(3,4)		(4,2)		(2,3)
(3,5)		(4,3)		(2,3)
(3,7)		(4,4)		(2,4)
(3,8)		(4,7)		(2,2)
(4,5)		(2,3)		(3,3)
(4,7)		(2,4)		(3,4)
(4,8)		(2,7)		(3,2)
(5,7)		(3,4)		(3,4)
(5,8)		(3,7)		(3,2)
(7,8)		(7,7)		(3,2)


(1,6)		(4,4)		(1,3)
(2,3)		(3,4)		(2,4)
(2,4)		(2,3)		(3,4)
(2,5)		(3,3)		(3,4)
(2,7)		(3,4)		(4,4)
(2,8)		(3,7)		(2,4)
(3,4)		(2,4)		(2,3)
(3,5)		(3,4)		(2,3)
(3,7)		(4,4)		(2,4)
(3,8)		(4,7)		(2,2)
(4,5)		(2,3)		(3,3)
(4,7)		(2,4)		(3,4)
(4,8)		(2,7)		(2,3)
(5,7)		(3,4)		(3,4)
(5,8)		(3,7)		(2,3)
(7,8)		(7,7)		(2,3)


(1,6)		(1,3)
(2,3)		(3,4)		(2,4)
(2,4)		(2,3)		(3,4)
(2,5)		(3,4)
(2,7)		(3,4)
(2,8)		(3,7)		(2,4)
(3,4)		(2,4)		(2,3)
(3,5)		(3,4)		(2,3)
(3,7)		(2,4)
(3,8)		(4,7)
(4,5)		(2,3)
(4,7)		(2,4)		(3,4)
(4,8)		(2,7)		(2,3)
(5,7)		(3,4)		(3,4)
(5,8)		(3,7)		(2,3)
(7,8)		(7,7)		(2,3)


--(1,6)		--(1,3)
(2,3)		(3,4)		(2,4)
(2,4)		(2,3)		(3,4)
(2,5)		(3,4)
(2,7)		(3,4)
(2,8)		(3,7)		(2,4)
(3,4)		(2,4)		(2,3)
(3,5)		(3,4)		(2,3)
(3,7)		(2,4)
(3,8)		(4,7)
(4,5)		(2,3)
(4,7)		(2,4)		(3,4)
(4,8)		(2,7)		(2,3)
(5,7)		(3,4)
(5,8)		(3,7)		(2,3)
(7,8)		(2,3)



(2,3)		(3,4)		(2,4)
(2,4)		(2,3)		(3,4)
(2,5)		(3,4)
(2,7)		(3,4)
(2,8)		(3,7)		(2,4)
(3,4)		(2,4)		(2,3)
(3,5)		(3,4)		(2,3)
(3,7)		(2,4)
(3,8)		(4,7)
(4,5)		(2,3)
(4,7)		(2,4)		(3,4)
(4,8)		(2,7)		(2,3)
(5,7)		(3,4)
(5,8)		(3,7)		(2,3)
(7,8)		(2,3)

Image automat20240227-1

Zustand     Eingabe     Ausgabe     Folgezustand        CodeFolgezustand
                                                        z1+ z2+ z3+ z4+
z1          0           0           z4                  0   0   0   1
z1          1           0           z4                  0   0   0   1
z2          0           0           z2                  0   1   0   0
z2          1           1           z3                  0   0   1   0
z3          0           0           z1                  1   0   0   0
z3          1           0           z2                  0   1   0   0
z4          0           0           z3                  0   0   1   0
z4          1           1           z1                  1   0   0   0


z1+ := z3 and not x or z4 and x
z2+ := z2 and not x or z3 and x
z3+ := z2 and x or z4 and not x
z4+ := z1

y := z2 and x or z4 and x

https://www.ituenix.de/nextcloud/data/dave/files/Documents/david4/2024-02-27/automat20240227.txt">

https://www.ituenix.de/nextcloud/data/dave/files/Documents/david4/2024-02-27/automat20240227.pdf">

https://www.ituenix.de/nextcloud/data/dave/files/Documents/david4/2024-02-27/automat20240227.tex">

https://www.ituenix.de/nextcloud/data/dave/files/Documents/david4/2024-02-27/automat20240227.csv">

Image asm20240227-1

https://www.ituenix.de/nextcloud/data/dave/files/Documents/david4/2024-02-27/asm20240227.tex">https://www.ituenix.de/nextcloud/data/dave/files/Documents/david4/2024-02-27/asm20240227.tex</URL>

\begin{verbatim}https://www.ituenix.de/nextcloud/data/dave/files/Documents/david4/2024-02-27/asm20240227.pdf">https://www.ituenix.de/nextcloud/data/dave/files/Documents/david4/2024-02-27/asm20240227.pdf</URL>

\includegraphics[width=\textwidth]{./david4/2024-02-27/20240227_212609.jpg}

\includegraphics[width=\textwidth]{./david4/2024-02-27/20240227_213659.jpg}

So, jetzt kurze Raucherpause, dann kommt das MIPS32 Assembler Programm.

So, jetzt kommt der MIPS. Zun"achst muss ich etwas tun, was ich schon immer mal tun wollte. Ich muss auf dem Taschenrechner Texas Instruments TI-30 nachgucken, wie geht der Binomialkoeffizient. Gut, wenn ich den habe, kann ich nach voll ziehen, ob MIPS das richtig ausgerechnet hat.

\includegraphics[width=\textwidth]{./david4/2024-02-27/20240227_215737.jpg}

Es funktioniert generell schon mal, mit einem Problem - der mult Befehl tut nicht. Es geht, aber der mult Befehl tut nicht, also mal gucken
\begin{verbatim}


.data
.text
start:
 li \$t1, 52
 li \$t2, 5
 li \$t3, 1
 li \$t5, 1
l1:
 sub \$t4, \$t1, \$t2
 mult \$t5, \$t4
 mult \$t3, \$t2
 subi \$t2, \$t2, 1
 bnez \$t2, l1

 div \$t5, \$t2

Image Screenshot_20240227_221604

.data
.text
start:
	li \$t1, 52
	li \$t2, 5
	li \$t3, 1
	li \$t5, 1
l1:
	sub \$t4, \$t1, \$t2
	mul \$t5, \$t5, \$t4
	mul \$t3, \$t3, \$t2
	subi \$t2, \$t2, 1
	bnez \$t2, l1

	div \$t5, \$t2

Image Screenshot_20240227_230143

Image Screenshot_20240227_230430

Image Screenshot_20240227_232728

Image Screenshot_20240227_233447

Image Screenshot_20240227_233614

Image Screenshot_20240227_233826

Image Screenshot_20240227_234021

Image Screenshot_20240227_234102

Image Screenshot_20240227_234443