2024-09-25

1.) Rechne die Zahl in binaer Darstellung  in eine Dezimale Darstellung um
0010010001010100b 9300d
2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung um
46933 1011011101010101
3.) Addiere die drei Zahlen schriftlich
            24290
+           12904
+           15921
-----------------
            53115
4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich
            18757
-            6351
-           12571
-            5341
-----------------
            -5506
5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimal
-18 -125 = -143
11101110 10000011 = 01110001
6.) Multipliziere die zwei Zahlen schriftlich
1944*24950 = 48502800
7.) Dividiere die zwei Zahlen schriftlich
30068/22203 = 1
8.) Errechne x Logarithmisch mit dem Taschenrechner
31692^x = 1466647171
9.) Errechne mit dem Abakus
66 + 60 + 59 + 36 + 68 + 17 + 82 + 22 + 72 + 48
10.) Errechne mit dem Abakus
8724 + 7276 + 909 + 7287 + 1962 + 7897 + 517 + 381 + 8564 + 5855

david@work:~$ ./binary2 > binary20240923.txt
david@work:~$ echo $((66 + 60 + 59 + 36 + 68))
289
david@work:~$ echo $((66 + 60 + 59 + 36 + 68 + 17 + 82 + 22))
410
david@work:~$ echo $((66 + 60 + 59 + 36 + 68 + 17 + 82 + 22 + 72 + 48))
530
david@work:~$

Image IMG_3334

Image IMG_3348

Image IMG_3349

Image IMG_3350

Image IMG_3351

Image IMG_3352

Image IMG_3353

Image IMG_3354

Image IMG_3355

Image IMG_3356

Image IMG_3357

david@work:~$ echo $((8724 + 7276 + 909 + 7287 + 1962))
26158
david@work:~$ echo $((8724 + 7276 + 909 + 7287 + 1962 + 7897))
34055
david@work:~$ echo $((8724 + 7276 + 909 + 7287 + 1962 + 7897 + 517 + 381 + 8564 + 5855))
49372
david@work:~$

Image IMG_3358

Image IMG_3359

Image IMG_3360

Image IMG_3361

Image IMG_3362

Image IMG_3363

Image IMG_3364

Image IMG_3365

Image IMG_3366

Schriftliches Rechnen

Image IMG_3367

Image IMG_3368

Image IMG_3369

Image IMG_3370

Image IMG_3371

Image IMG_3372

Image IMG_3373

Image IMG_3374

Auf jeden Fall ist im Hintergrundbeleuchtung zweier LCD nicht kaputt, die kein vorwiderstand an der Anode brauchen. Filme sind auf Facebook zu finden.

https://www.ituenix.de/html/uebungen2/node115.html

ich habe die Ergebnisse so weit auf meiner Homepage gepostet und ich sage jetzt mal folgendes. auf mikrocontroller.net habe ich einen interessanten beitrag gefunden, zu spruengen, ret und push, probiere ich aus. Ausserdem, habe ich bei reichelt.de lauter Bausteine bestellt. Unter anderen den MAX232. Dazu gibt es auf mikrocontroller.net beitraege, zum seriellen. Das ist in Verbindung mit dem Display interessant, weil, man kann dann den PC da seine ausgaben machen lassen. Ich habe dazu zwei 128x64 Bit Graphik Displays bestellt. Jetzt halten sie sich fest, ich habe ein 4x20 zeichen display bestellt, dabei habe ich nicht genau hingeguckt. normalerweise haben die 16 Bit. Bei Graphik gehen wir oft davon aus, die haben HDMI, das Ding hat aber auch HDMI, jetzt lerne ich gerade serielle. Dazu lerne ich auch Centronix, busy, strobe, ack, und XON XOFF. Dabei ist mir ein serieller Bus aufgefallen, auf mikrocontroller.net i2c. jetzt sieht HDMI kompliziert aus. Lustig ist, erstens I2c ist stark verbunden, mit HDMI, seriell, dazu hat das Text Display! Text! HDMI - und I2C, aber HDMI und i2c wird als serieller Bus vorgestellt

Image IMG_3375

Image IMG_3376

Image IMG_3377

;; der quelltext funktioniert so bestens

.include "m8def.inc"
ldi r16, HIGH(RAMEND)
out SPH, r16
ldi r16, LOW(RAMEND)
out SPL, r16

ldi r16, 0xff
out DDRB, r16

ldi r16, LOW(label1)
push r16
ldi r16, HIGH(label1)
push r16
ret

end:    rjmp end

label1:
    ldi r16, 0b01010101
    out PORTB, r16
    ret

label2:
    ldi r16, 0b00001111
    out PORTB, r16
    ret

Also, ich schreibe jetzt selber ein Programm fuer das LCD. ich weiss wie es geht. Sie haben den 4 Bit Modus und den 8 Bit modus. Beim 4 Bit modus, sind die oberen 4 Datenleitungen, DB4...DB7 mit zum Beispiel, den unteren 4 Bit, des Datenports PORTD oder PORTB verbunden, also DB0, DB1, DB2, DB3

Gut, daneben gibt es am  LCD, RS, RW, E.
Das erstere ist Command/Data. Das wird gesetzt wenn wir Commando oder Daten uebertragen. Enable steht nicht fuer das Enable des LCD. Sondern nach jedem Befehl oder Daten, muessen wir ein Enable senden. Fuer die Zeit von 3 NOPS und und das Bit setzen und loeschen. Read/Write brauchen wir so nicht, weil wir das LCD nicht auslessen. es muss auf Ground gesetzt werden. GND

Und - wir muessen, das habe ich auswendig gelernt, beim 4 Bit Modus, als Command, senden, $3, $3, $3, $2

mit letzterem wird das LCD eingerichtet. $3, danach glaube ich 100 Mikrosekunden warten, oder 4,7 danach 100 ns oder so

um die nibble zu senden muessen wir machen


and r16, 0b00001111
out PORTD, r16
swap r16
and r16, 0b00001111
out PORTD, r16

;; so viel habe ich bisher geschrieben, stimmt natuerlich so weit noch nicht alles. Den code von mikrocontroller.net will ich auch auswendig lernen. ich tue so etwas. ich muss mich jetzt um fruehstueck kuemmern. geht kein weg dran vorbei Ich meine, der Code ist nicht vollst"andig, bisher sowieso nicht vollst"andig.

.include "m8def.inc"

ldi r16, HIGH (RAMEND)
out SPH, r16
ldi r16, LOW (RAMEND)
out SPL, r16

ldi r16, 0xff
out DDRD, r16

nibble_out:
    mov r15, r16
    and r15, 0b00001111
    out PORTD, r15
    mov r15, r16
    swap r15
    and r15, 0b00001111
    out PORTD, r15
    ret

lcd_init:
    ldi r16, $3
    nibble_out, r16
    call pause
    ldi r16, $3
    nibble_out, r16
    call pauses
    ldi r16, $3
    nibble_out, r16
    ldi r16, $2
    nibble_out, r16
ret

Image IMG_3400

#!/bin/bash

if [[ "$1" == "David" && "$2" == "Vajda" && -z "$3" ]]
then
    echo "That'me :-) !"
elif [[ "$1" == "Vajda" && -z "$2" ]]
then
    echo "Das koennte ich sein"
else
    echo "hallo welt"

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

    M=(a b c d)
    M+=(e f g h)

    i=0
    while [ $i -lt 8 ]
    do
        echo "${M[$i]}"
        i=$(($i+1))
    done

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

    l=$(ls)
    i=0
    for s in $l
    do
        echo "$ss"
        if [ $i -ge 8 ]
        then
            break
        fi
        i=$(($i+1))
    done

    /bin/bash "$0" "David" "Vajda"
    /bin/bash "$0" "Vajda"
fi

Image Screenshot_20240924_173258

hallo welt
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.
a
b
c
d
e
f
g
h
a
b
c
d
e
f
g
h
That'me :-) !
Das koennte ich sein

Image IMG_3401

Image IMG_3402

Image IMG_3403

Image IMG_3404

Image IMG_3405

Image IMG_3406

Image IMG_3407

Image IMG_3408

Image IMG_3409

Image IMG_3410

Image IMG_3411

Image IMG_3412

Image IMG_3413

Image IMG_3414

Image IMG_3415

Image IMG_3416

Image IMG_3417

Image IMG_3418

Image IMG_3419

Image IMG_3420

Image IMG_3421

Image IMG_3422

Image IMG_3423

Image IMG_3424

Ja, am Ende ist ein Fehler bei der letzten Rechnung bei einer Stelle um eines Fall Ziffer vertan um eine Ziffer bei der letzten Rechnung. Ich hab zweimal nachgerechnet, obwohl der vorherige Schritt gestimmt hat. Ich hab den vorherigen Schritt Schritt errechnet. Der Fehler habe ich jetzt zweimal den selben Fehler ausgerechnet aber es geht nur um eine Stelle. Sie können ihn finden. Mal sehen, ob die ihn finden, wo der Fehler ist.

david@work:~$ echo $((1944*3))
5832
david@work:~$ echo $((1944*4))
7776
david@work:~$ echo $((1944*24))
46656
david@work:~$ echo $((1944*24))
46656
david@work:~$ echo $((1944*2))
3888
david@work:~$ echo $((1944*5))
9720
david@work:~$ echo $((1944*2405))
4675320
david@work:~$ echo $((1944*6))
11664
david@work:~$ echo $((1944*7))
13608
david@work:~$ echo $((1944*8))
15552
david@work:~$ echo $((1944*9))
17496
david@work:~$

Image IMG_3425

Image IMG_3426

Image IMG_3427

Image IMG_3434

Image IMG_3442

Image IMG_3443

Image IMG_3444

Image IMG_3445

Image IMG_3446

Image IMG_3447

Image IMG_3448

Image IMG_3449

Image IMG_3450

Image IMG_3451

Image IMG_3452

Image IMG_3453

Image IMG_3454

Image IMG_3455

Image IMG_3456

Jetzt handschriftliche Rechnung.

1.) Rechne die Zahl in binaer Darstellung  in eine Dezimale Darstellung um
0010010001010100b 9300d
2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung um
46933 1011011101010101
3.) Addiere die drei Zahlen schriftlich
            24290
+           12904
+           15921
-----------------
            53115
4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich
            18757
-            6351
-           12571
-            5341
-----------------
            -5506
5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimal
-18 -125 = -143
11101110 10000011 = 01110001
6.) Multipliziere die zwei Zahlen schriftlich
1944*24950 = 48502800
7.) Dividiere die zwei Zahlen schriftlich
30068/22203 = 1
8.) Errechne x Logarithmisch mit dem Taschenrechner
31692^x = 1466647171
9.) Errechne mit dem Abakus
66 + 60 + 59 + 36 + 68 + 17 + 82 + 22 + 72 + 48
10.) Errechne mit dem Abakus
8724 + 7276 + 909 + 7287 + 1962 + 7897 + 517 + 381 + 8564 + 5855

Image Screenshot_20240924_190145

<?php
session_start ();
?>

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

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

setcookie ("test20240924002", "Dies ist das erste Keks", time () + 3600);
echo htmlentities ($_POST ["test20240924001"]) . "<br>\n";
echo htmlentities ($_COOKIE ["test20240924002"]) . "<br>\n";
echo htmlentities ($_COOKIE ["test20240924003"]) . "<br>\n";

session_destroy ();
?>

HTTP-Request

## Bei Set-Cookie ist irgendein fehler in der Anfrage

POST https://nextcloud.ituenix.de/david/20240924/test20240924.php HTTP/1.1
host: localhost
Set-Cookie: test20240924002=Dies ist der zweite Keks
Content-Length: 33
Content-Type: application/x-www-form-urlencoded

test20240924001=ich bin das Datum

HTTP-Request-Response

Trying ::1...
Connected to localhost.
Escape character is '^]'.
HTTP/1.1 200 OK
Date: Tue, 24 Sep 2024 17:07:22 GMT
Server: Apache/2.4.62 (Debian)
Set-Cookie: PHPSESSID=lslsag7pmvpo8slgo0t6l6vn0u; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Set-Cookie: test20240924002=Dies%20ist%20das%20erste%20Keks; expires=Tue, 24 Sep 2024 18:07:22 GMT; Max-Age=3600
Vary: Accept-Encoding
Content-Length: 195
Content-Type: text/html; charset=UTF-8

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

lslsag7pmvpo8slgo0t6l6vn0u<br>
ich bin das Datum<br>
<br>
<br>

Image IMG_3457

Image IMG_3458

Image IMG_3459

Image IMG_3460

Image IMG_3461

Image IMG_3462

Image IMG_3463

Image IMG_3464

Image IMG_3465

Image IMG_3467

Image asm20240921-1