habe gerade ChatGPT ausprobiert, das ist das Ergebniss auf eine sehr
simple Vorgabe: Schreibe einen AVR ASM Code für den ATMEGA16 zur Ausgabe
von Hallo World! auf ein LCD im 8 Bit Modus, nach nichtmal einer Minute
kommt das dabei raus. Klar ein paar Syntaxfehler aber schon der
Wahnsinn. Vorallem da man es präzisieren oder Änderung beauftragen kann.
Wer das Grundgerüst des Programms wohl ursprünglich verfasst hat?
Vielleicht hat jemand hier Zugriff auf ein geeignetes
Plagiatsprüfungsprogramm? Das Ergebniss wäre sicherlich interessant.
Thomas O. schrieb:> nach nichtmal einer Minute> kommt das dabei raus.
Wen willst Du hier veralbern?
Schreibe einen AVR ASM Code für den ATMEGA16 zur Ausgabe
von Hallo World! auf ein LCD im 8 Bit Modus
1
.nolist
2
.include "m16def.inc"
3
4
.list
5
.org 0x0000
6
rjmp reset
7
8
.org 0x0100
9
reset:
10
ldi r16,0xFF ; Configure Port B as output
11
out DDRB,r16
12
13
ldi r16,0x38 ; Initialize LCD in 8-bit mode
14
out PORTB,r16
15
call delay
16
17
ldi r16,0x0C ; Turn on display and cursor
18
out PORTB,r16
19
call delay
20
21
ldi r16,0x06 ; Set cursor move direction and display shift
22
out PORTB,r16
23
call delay
24
25
ldi r16,0x01 ; Clear display
26
out PORTB,r16
27
call delay
28
29
ldi r16,0x80 ; Move cursor to first row, first column
30
out PORTB,r16
31
call delay
32
33
ldi r24, 'H' ; Load character 'H' into r24
34
out PORTB,r24
35
call delay
36
37
ldi r24, 'a' ; Load character 'a' into r24
38
out PORTB,r24
39
call delay
40
41
ldi r24, 'l' ; Load character 'l' into r24
42
out PORTB,r24
43
call delay
44
45
ldi r24, 'l' ; Load character 'l' into r24
46
out PORTB,r24
47
call delay
48
49
ldi r24, 'o' ; Load character 'o' into r24
50
out PORTB,r24
51
call delay
52
53
ldi r24, ' ' ; Load character ' ' into r24
54
out PORTB,r24
55
call delay
56
57
ldi r24, 'W' ; Load character 'W' into r24
58
out PORTB,r24
59
call delay
60
61
ldi r24, 'o' ; Load character 'o' into r24
62
out PORTB,r24
63
call delay
64
65
ldi r24, 'r' ; Load character 'r' into r24
66
out PORTB,r24
67
call delay
68
69
ldi r24, 'l' ; Load character 'l' into r24
70
out PORTB,r24
71
call delay
72
73
ldi r24, 'd' ; Load character 'd' into r24
74
out PORTB,r24
75
call delay
76
77
ldi r24, '!' ; Load character '!' into r24
78
out PORTB,r24
79
call delay
80
81
delay:
82
ldi r18,100
83
delay_loop:
84
dec r18
85
brne delay_loop
86
ret
87
88
.end
"Bitte beachten Sie, dass dieser Code ein einfaches Beispiel ist und
möglicherweise Anpassungen erfordert, um Ihre spezifischen Anforderungen
zu erfüllen." (Zitat "ChatGPT")
Thomas O. schrieb:> Klar ein paar Syntaxfehler aber schon der Wahnsinn.
Wahnsinn ist, daß der Code für sich allein so nicht funktioniert. Der
RET-Befehl in Zeile 39 verläßt ein Unterprogramm, das vorher nicht
aufgerufen wurde. Der Stack wurde auch nicht initialisiert. Außerdem
fehlen die Angabe der Taktfrequenz und für welchem Assembler der Code
vorgesehen ist. Weitere Fehler vorbehalten...
Icke ®. schrieb:> Weitere Fehler vorbehalten...
- Aufgabenstellung verfehlt, LCD würde im 4-Bit Modus arbeiten statt
8-Bit
- Port-Pins nicht als Ausgänge initialisiert
- Sequenz "lcd_write_cmd" wird per rjmp angesprungen, aber mit ret
verlassen
- weder wird das Busy-Flag abgefragt, noch sonst irgendwie auf das LCD
gewartet
Vermutlich noch mehr Fehler, aber schon an dieser Stelle würde ich den
Code als völlig unbrauchbar bezeichnen.
Ich habe gerade auch mal gespielt ;-)
"Schreibe ein Programm in Turbopascal zur Berechnung der Fakultät einer
Zahl."
Läuft sofort :-)
program Fakultaet;
var
n: integer;
fakt: longint;
function berechneFakultaet(n: integer): longint;
var
i: integer;
begin
fakt := 1;
for i := 2 to n do
fakt := fakt * i;
berechneFakultaet := fakt;
end;
begin
write('Bitte geben Sie eine Zahl ein: ');
readln(n);
if n < 0 then
writeln('Fehler: n muss >= 0 sein.')
else
writeln('Die Fakultät von ', n, ' ist ', berechneFakultaet(n), '.');
end.
die magic numbers bei der Display initialisierung sind der Brüller!
bei Analyse der generierung der 100ms Pause beisst man dann in den
teppich
die fehlenden Comments sind auch ein zeichen von überbordender
Intelligenz und Schjöpferkraft
...
870 zaeilen Code = 80 Fehler gleich mal dem Arbeitsamet zur Umschulung
auf reinigungskraft melden!
Mindestanforderung schrieb:> Ist nicht überlaufsicher.> Keine Überprüfung der Eingabe auf Numerisch.
Ja, und die Ausgabe ist nicht auf Spanisch und außerdem ist noch ein
weiteres Haar in der Suppe ;-)
Die Faszination liegt nicht in einem revisionssicherem Quellcode nach EN
IEC 62366, sondern in darin, dass auf eine verbale Anfrage ein Code
erzeugt wird, welcher prinzipiell die Funktion der Anfrage erfüllt.
Joe G. schrieb:> sondern in darin, dass auf eine verbale Anfrage ein Code> erzeugt wird, welcher prinzipiell die Funktion der Anfrage erfüllt.
Nee, das ist keine "allgemeine verbale Anfrage" sondern die nach einem
primitiven mathematischen Ausdruck, der bereits in der Grundschule
gelehrt wurde.
Bereits die Taschenerechner vor 50 Jahren konnten Fakultät berechnen.
Und nun kann ein Rechnercluster auch das (unvollständige) Pascal-Gesülze
drumherum ausspucken - Toller Fortschritt :-(
Die Faszination ist eher, wie sich Personen mit überdurchschnittlichen
IQ von so einer schwachen Leistung blenden lassen. Da ist wohl mehr
Phantasie und Wunschdenken als knallharte (Ingenieurs-)Analyse dahinter.
Mindestanforderung schrieb:> Die Faszination ist eher, wie sich Personen mit überdurchschnittlichen> IQ von so einer schwachen Leistung blenden lassen. Da ist wohl mehr> Phantasie und Wunschdenken als knallharte (Ingenieurs-)Analyse dahinter.
Da habe ich wohl deine Mindestanforderungen nicht erfüllt, tut mir leid.
Na ja, denken war gestern. Assembler habe ich in meiner Ausbildung und
am C64 gelernt, jetzt kommt eine KI und schreibt mir ein Programm. Wenn
ich jetzt bedenke das es nicht mal eine Quellenangabe gibt und ich mich
daran erinnere wie Bill Gates mit Microsoft so groß geworden ist, könnte
ich im Strahl kotzen. (Sorry, das ist alles nur geklaut und gestohlen
und geraubt, wer hat das nur erlaubt...) na ja egal die Intelligenz
nimmt tatsächlich immer mehr ab.
"Wow, KI ist einfach unglaublich. Wir haben endlich eine Technologie,
die in der Lage ist, unser Leben zu vereinfachen und die ganze Arbeit
für uns zu erledigen. Ich meine, wer braucht noch menschliches Denken,
wenn wir einfach alles an einen Mikrocontroller delegieren können, der
von KI gesteuert wird?
Ach, warte... wir können KI immer noch nicht dazu bringen, einfache
Aufgaben auszuführen, ohne dass sie abstürzt oder Fehler macht. Na ja,
es ist schön zu wissen, dass wir bald in einer Welt leben werden, in der
Maschinen unsere Probleme lösen, indem sie noch größere Probleme
verursachen.
Aber hey, zumindest haben wir jetzt eine Technologie, die in der Lage
ist, menschliche Fehler zu replizieren, aber auf viel größerem Maßstab.
Wunderbar.
- chatGpt