Was ist die beste Maschinensprache?

5 Antworten

Ich weiß nicht was Du mit Maschinensprach meinst?...

Maschinensprache nennt sich normalerweise der Befehlssatz eines Prozessors. Dieser ist Hersteller- und Typenabhängig. Da gibt es kein Besser oder Schlechter.

Maschinensprache ist sehr schlecht handhabbar, da sie nur aus binären Zahlencombinationen besteht.

Aus diesem Grund wurde Assembler zum Schreiben von Programmen eingesetzt, um einigermaßen den Überblick zu behalten.

Statt der "wirren" Zahle verwendet Assembler als Entsprechung für Maschinenbefehle Mnemonics (Gedächtnisstützen)

Statt

000001011110100000000011

schreiben zu müssen, schreibt man

mov ax,1000

Aber noch immer Übersetzt der Assembler die geschrieben Befehle 1:1 in ihre Entsprechung. Bis hier gibt es kein schlechter oder besser. Der Prozessor bekommt die Anweisungen so wie sie übersetzt wurden.

Anders verhält es sich mit Hochsprachen. (C,Basic,Pascal usw). Hier steht ein Befehl für eine ganze Gruppe von Prozessorbefehlen. Für ein simples :

print("Hallo Welt")

...werden einige 100 Prozessorbefehle eingesetzt. Wenn man auch noch Betriebssystemspezifische Abläufe einbezieht können für den gleichen kleinen Satz einige 10.000 Befehle vom Prozessor ausgeführt werden.

Mit Assembler oder Maschinensprache ist bei modernen Systemen kaum noch ein Blumentopf zu gewinnen.

Heute wird (fast) nur noch mit Hochsprachen entwickelt.

Was da die beste ist, hängt vom "wofür" ab und Präferenzen des Entwicklers.

Ich glaube kaum, das Du vorhast Maschinensprache oder Assembler zu lernen. Ergo sollte Deine Frage lauten: Welche Programmiersprache könnt ihr mir empfehlen, ich möchte das und das programmieren...?

Kommt drauf an, was du mit "beste" genau meinst. Ist die beste Maschinensprache eine, die man als Mensch möglichst gut verstehen kann? Dann vermutlich die Maschinensprache vom Conrad Microcontroller Lernpaket. Ist die beste Maschinensprache die, die am meisten kann, bzw. die meisten parallelen Operationen zulässt? Dann vermutlich die Maschinensprache vom Intel Itanium oder vielleicht auch vom PS3 Cell-Prozessor

Es gibt nur eine Maschinensprache und das sind die CPU-Befehle.

Und Assembler ist nur eine 1zu1-Übersetzung davon als Text.

Kann man nicht sagen.

Die Maschinensprache der ARM-Prozessoren ist "stark gewöhnungsbedürftig". Die VAX-11 hat mir da besser gefallen.

tunik123  05.10.2021, 22:32

... und auch der Z80. Da wir in den 80er Jahren keine Assembler hatten, kannte ich fast den gesamten Befehlssatz auswendig.

1
Erzesel  06.10.2021, 07:42
@tunik123
Da wir in den 80er Jahren keine Assembler hatten...

Natürlich gabs für den Z80 einen Assembler.

Das man alle Hexentspechungen für den Befehlssatz im Kopf hatte mag zwar möglich sein, aber spätestens, wenn Strings oder Dezimalzahlen ins Spiel kamen war ein Hexdump nicht mehr praktikabel.

Ihr hattet vielleicht keine Hochsprachen, aber Assembler gabs für jeden Prozessor.

Ich hatte jedenfalls einen...

0

In der Informatik ist alles ein Trade-Off. Es kommt immer auf den Anwendungsfall an. Und was man erreichen will, welche Eigenschaften man nutzen will. Mir hat x86-Assermbler am besten gefallen, vor allem diejenige vor Entwicklung des Intel Pentium. Die war noch übersichtlich.

Woher ich das weiß:Studium / Ausbildung – Informatik studiert und mit PCs & Technik beschäftigt
Erzesel  06.10.2021, 07:24
x86-Assermbler am besten gefallen, vor allem diejenige vor Entwicklung des Intel Pentium

Ging es jemals um gefallen? Die damaligen CISC-Prozessoren hatten einen vergleichsweise kleinen Befelssatz.

Der von Z90 war da jedoch wesentlich "niedlicher"

0
ranger1111  06.10.2021, 08:29
@Erzesel

Hier geht's schon darum. Denn RISC und CISC sind z.B. nicht besser oder schlechter, sonder eben anders. Da geht's immer um Vor- und Nachteile.

0
Erzesel  07.10.2021, 08:32
@ranger1111

Ich bin seit 36 Jahren "im Geschäft".

Ich kenne durchaus die die Unterschiede zwischen RISC und CISC.

Letztlich muss jeder der einen Treiber, Compiler oder eine andere Hardwarenahe Schnittstelle programmiert sich mit dem entsprechenden Befehlssatz/Assembler befassen. Ergo egal ob gefallen oder nicht.

Bei CISC muss er mehr Instruktionen lernen und damit jonglieren. Bei RISC sind es weniger Instruktionen dafür werdens mehr Zeilen. (Relativ...Die meisten Assembler arbeiten mit Makros)

90% der Nutzer sind die Prozessoren in ihren Geräten egal, Hauptsache es ruckelt nix. Und selbst die Anwendungsprogrammierer interessieren sich als niedrigster Level ums Betriebssystem.

Wenn ich mal ehrlich sein soll, ich bin froh keine der aktuelle CPUs mit Assembler bedienen zu müssen, egal welche Architektur...

0