Was schönes zum Lesen über's verlängerte Wochenende: https://xorvoid.com/sectorc.html https://heise.de/-9067663
Na C ist das aber nicht, eher ein Mini-Subset. Immer diese Übertreibungen.
Herbert B. schrieb: > Na C ist das aber nicht, eher ein Mini-Subset. Ja, das ist so. Ich frage mich, warum. Die Begrenzung auf 512Byte MBR ist doch nicht mehr zeitgemäß. Heute legt doch praktisch alles Partitionen auf 1MiB-Grenzen. D.h.: vor der ersten Partition ist 1MiB Luft (der MBR ist nur der erste Sektor dieses Bereichs). Und in 1MiB könnte man sehr wohl einen vollständigen C-Compiler für eine Zielarchitektur unterbringen. Bleibt dann am Ende nur die Frage: wozu, zum Teufel, sollte man zur Bootzeit einen C-Compiler benötigen?
C-hater schrieb: > Bleibt dann am Ende nur die Frage: wozu, zum Teufel, sollte man zur > Bootzeit einen C-Compiler benötigen? Schreibt er ja am Ende: Garnicht. Trotzdem eine schöne Assembler-Übung. Sollte dir doch eigentlich besonders gefallen, bis auf die Sprache, die er damit übersetzt.
Εrnst B. schrieb: > Trotzdem eine schöne Assembler-Übung. Na, ich weiß nicht... Zumindest könnte ich mir viele andere Sachen als Asm-Übung vorstellen, die tatsächlich irgendeinen "Nutzeffekt" haben. Sowas in der Art, wie es die Demo-Szene produziert. Ist natürlich auch nur Spielerei, aber wenigstens eine, die tatsächlich etwas Eindrucksvolles produzieren kann. Aus dem Bootsektor heraus mehrere CPU-Cores, Sound und (3D-)Grafik in Betrieb zu nehmen und dann trotzdem beim Verlassen des Bootcodes einen normalen Bootvorgang vollziehen zu können, DAS wäre eine angemessene Übung für den sinnvollen Einsatz von Asm. > bis auf die Sprache, die er damit übersetzt. Ja, ich hätte die Frage auch provokanter formulieren können: Wozu, zum Teufel, sollte man überhaupt einen C-Compiler benötigen, wenn man Asm kann (und nicht faul oder gierig ist)?
MBR ist sowas von gestern, interessanter/relavanter ist was heute in L1/L2 Cache passt
C-hater schrieb: > Wozu, zum Teufel, sollte man überhaupt einen C-Compiler benötigen, wenn > man Asm kann (und nicht faul oder gierig ist)? Tja, erbärmlich dokumentiert, teilweise dokumentiert, gar nicht dokumentiert.. Ansonsten mal K+R lesen, die schreiben nämlich recht gut, warum überhaut C. Hauptsache wohl, wegen Hardwarewechseldich/Betriebssystem - aber womöglich auch aus reinem technischem Interesse. Die Beliebtheit von C, und auch die Schnelligkeit und die Standards + hier und da sehr nette Bibliotheken im Beipack sprechen gewisse Bände. Und in Asm freut man sich doch auch, wenn man nicht jeden Pieps, sowas wie printf() oder unendlich lange Zahlenausgabe bei jeder wechselnden Hardware jedesmal neu programmieren muss. Außerdem leben Turnschuh-Netzwerke auch vom Austausch - und wenn der auf Basic oder auf C basiert, dann kann man ja, wenn man gut ist und Langeweile hat, immer zurück nach Asm übersetzen. Würden das mehr Leute machen, gäbe es (begrüßenswerterweise) mehr Austausch in Asm. Machen aber nicht so viele, und so bleibt die Basis dürftig. Und so unglücklich muss man darüber auch nicht sein - letztlich ist know how ja auch keine schlechte Sache - und wer meint, ständig in Fettnäppchen treten zu müssen: bitte schön. Und wer ist da schon perfekt? 100% - Erwartung ist sowieso oft eher krank als erfreulich.
Rote T. schrieb: > MBR ist sowas von gestern, interessanter/relavanter ist was heute in > L1/L2 Cache passt Musst nur zurück auf K&R-C. Die PDP-11 hatte einen Adressraum von 64 KB und deren C Compiler passte hinein. AMDs K7/K8-Varianten hatten L1-Caches von 64+64kB und die E-Cores von aktuellen Intels haben ebenfalls 64KB I-Cache.
:
Bearbeitet durch User
C-hater schrieb: > Wozu, zum Teufel, sollte man überhaupt einen C-Compiler benötigen, wenn > man Asm kann (und nicht faul oder gierig ist)? Dazu kommt: Einen ASM-Compiler hätte man sogar in 256 Bytes untergebracht! LG, Sebastian
Sebastian W. schrieb: > Dazu kommt: Einen ASM-Compiler Du meinst einen Assembler. > hätte man sogar in 256 Bytes untergebracht! Den Platz würden schon alleine die Namen der ganzen Instruktionen verbrauchen.
> Du meinst einen Assembler. >> hätte man sogar in 256 Bytes untergebracht! Das will ich sehen.
Ben B. schrieb: > Du meinst einen Assembler. >> hätte man sogar in 256 Bytes untergebracht! >> Das will ich sehen. Nein, ich meinte einen ASM-Compiler, also einen Übersetzer von Binärcode in genau denselben Binärcode. Einen Assembler-Disassembler habe ich vor langer Zeit zusammen mit einem Mitschüler für den Commodore PET 2001 (in 6502 Assembler) geschrieben. Wir sind damit bei Jugend Forscht angetreten. Leider konnten die Juroren mit unserer genialen Arbeit damals so gar nichts anfangen ... LG, Sebastian
> Nein, ich meinte einen ASM-Compiler, also einen Übersetzer > von Binärcode in genau denselben Binärcode. Ein ASM-Kopierer? Meine letzten DOS-Testviren besaßen sowas wie einen minimalen Assembler, der konnte nichts weiter als die Entschlüsselungsroutine polymorph darstellen, war aber soweit ich mich erinnere größer als 256 Bytes Code. Also das war keine echte Verschlüsselung wie man sie heute verstehen würde (der Schlüssel lag ja zwangsweise offen im Code), aber eine bequeme Möglichkeit, den Hauptteil des Virencodes vor allen Zeichenketten-basierten Scannern zu verstecken.
Sebastian W. schrieb: > Wir sind damit bei Jugend Forscht angetreten. Leider konnten die Juroren > mit unserer genialen Arbeit damals so gar nichts anfangen Was habt ihr den genau erforscht, und welche Konkurrenz hat warum gewonnen? (höchstwahrscheinlich war die Doku schlecht, was ;) )
Rbx schrieb: > höchstwahrscheinlich war die Doku schlecht, was ;) Die Doku war höchst ausführlich und aktuell der Ausdruck des Quellcodes unseres Assemblers/Disassemblers. Sogar mit Kommentaren! Und natürlich konnte unser Assembler sich selbst assemblieren. Nur konnte im Jahre 1978 keiner der Juroren 6502-Mnemonic lesen (oder, was das betrifft, irgendeine Programmiersprache) ... :( LG, Sebastian
:
Bearbeitet durch User
Sebastian W. schrieb: > Nur konnte im > Jahre 1978 keiner der Juroren 6502-Mnemonic lesen (oder, was das > betrifft, irgendeine Programmiersprache) ... :( Ich habe mal nachgeschaut, ob es noch was gibt zu 1978, gefunden: www.wissensschule.de/vom-bundessieger-zum-renommierten-stammzellenforsch er/#:~:text=Jürgen%20Hescheler%20(56)%2C%201978,Neurophysiologie%20der%2 0Universitätskliniken%20zu%20Köln Allerdings waren schon die 50er und 60er Computercracktime, sonst hätte es ja kaum Basic gegeben oder diverses Algo-Know-How. Bei Jugend Forscht braucht es noch die wissenschaftliche Note, wo war denn die? Wenn dahinter nur Proof of Concept steht, dann ist das noch keine Wissenschaft, höchstens so eine Art Hacker-Sport. Von der Jurorenseite kann man aber auch von Missverständnissen ausgehen. Hatte ich nämlich bei einem Mathelehrer auch mal. Der hatte eine ziemliche Vereinfachung eines (seines) Basic-Programms nicht verstanden, und meinte, ich hätte die Hausaufgaben nicht gemacht. Und: ein gewisses Logik-Genie hatte auch schon mal Ärger, und wurde dann hochnäsig von der etablierten Fachwelt "blöde Ziege" genannt - obwohl die aufgrund ihrer Schlauheit doch recht hatte.
:
Bearbeitet durch User
Sebastian W. schrieb: > Nein, ich meinte einen ASM-Compiler, also einen Übersetzer von Binärcode > in genau denselben Binärcode. Was ich mir darunter vorstellen soll, ist mir nicht klar. Was genau macht dieser Übersetzer denn und wozu braucht man ihn, wenn der Output exakt gleich dem Input ist? Und was hat das mit Assembler oder Compilern zu tun?
Vielleicht etwas in der Art, wie ich es für Intels Objektcode-Format mal baute. Einen Decoder zu Textdarstellung, und einen Encoder, die diese Textdarstellung wieder ins binäre brachte. Für gezielte Modifikation.
:
Bearbeitet durch User
Sebastian W. schrieb: > Nur konnte im Jahre > 1978 keiner der Juroren 6502-Mnemonic lesen Ihr hättet ihnen das kleine Kärtchen vom MOS-Technologies beilegen sollen. Das mit den Mnemonics auf der Y-Achse und den Adressierungsarten auf der X-Achse.
Rolf M. schrieb: > Sebastian W. schrieb: >> Nein, ich meinte einen ASM-Compiler, also einen Übersetzer von Binärcode >> in genau denselben Binärcode. > > Was ich mir darunter vorstellen soll, ist mir nicht klar. Was genau > macht dieser Übersetzer denn und wozu braucht man ihn, wenn der Output > exakt gleich dem Input ist? Und was hat das mit Assembler oder Compilern > zu tun? Heut nennt man das Programm copy, oder cp, ...
Rolf M. schrieb: > Sebastian W. schrieb: >> Nein, ich meinte einen ASM-Compiler, also einen Übersetzer von Binärcode >> in genau denselben Binärcode. > > Was ich mir darunter vorstellen soll, ist mir nicht klar. Was genau > macht dieser Übersetzer denn und wozu braucht man ihn, wenn der Output > exakt gleich dem Input ist? Und was hat das mit Assembler oder Compilern > zu tun? Vermutlich geht es ums sogenannte Bootstrapping. Als erstes macht man einen Compiler der sich selbst Kompilieren kann. Der Binärcode muss da zwar nicht zwangsläufig der selbe raus kommen, ist sogar recht unüblich. Aber angenommen er meint das ASM und nicht den Binärcode, dann macht das ganze mehr Sinn. https://en.wikipedia.org/wiki/Bootstrapping_(compilers)
Sebastian W. schrieb: > Nur konnte im Jahre 1978 keiner der Juroren Meine Urkunde von damals sagt es war 1980, Bremen, Mathe/Informatik, 3. Platz. Rolf M. schrieb: > was hat das mit Assembler oder Compilern zu tun? Gar nichts. c-hater meinte oben, ein C-Compiler sei unsinnig weil C unsinnig sei, worauf ich schrub, ein ASM-Compiler sei zudem sogar noch viel kleiner als ein C-Compiler (weil ein ASM-"Compiler" ja eben genau gar nichts tut). Ja, irgendwie ein blöder Witz, ich sehs ja ein ... LG, Sebastian
Oh nice. Small and simple. Token gerafft wo es nur geht und für die ASCII zu Integer Umwandlung nimmt er ne Hashmap von 64KB. Ha ha. O.o ?? Aber gut. Ich habe was gelernt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.