1. Foren
  2. » Kommentare
  3. » OpenSource
  4. » Alle Kommentare zum Artikel
  5. » MenuetOS: In Assembler…

was genau bedeutet assembler und was daran ist so gut ?

Anzeige
  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. was genau bedeutet assembler und was daran ist so gut ?

    Autor ich123abc 20.08.09 - 11:36

    was genau bedeutet assembler und was daran ist so gut ?

    Benutzer wird von Ihnen ignoriert. Anzeigen

  2. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor Himmerlarschundzwirn 20.08.09 - 11:38

    Assembler ist reine Maschinensprache.

    Direkter kannst du mit einem Computer nicht reden, außer mit 1 und 0 aber wer spricht das schon fließend? :-D

    Und je direkter du mit dem Computer redest, umso kürzer sind Zeiten, die das System braucht, um das, was du von ihm willst in seine Sprache zu übersetzen.

    War das jetzt gut erklärt? o.O

    Benutzer wird von Ihnen ignoriert. Anzeigen

  3. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor ich123abc 20.08.09 - 11:43

    ich habs verstanden, danke ;-)

    wie ist das bei videospielekonsolen, die werden ja gebaut und die spiele dann nur fuer das system geschrieben, bedeutet das das da die spiele auch immer in assembler geschrieben werden ?

    Benutzer wird von Ihnen ignoriert. Anzeigen

  4. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor Himmerlarschundzwirn 20.08.09 - 11:46

    Naja soweit ich weiß (bitte korrigieren, wenn ich falsch liege) bieten die Konsolen eine Art Betriebssystem an, welches eine API (also eine Schnittstelle) enthält, auf deren Basis dann die Software (Spiele) programmiert werden.

    Ich glaube NeedforSpeed wöllte ich nicht in Assembler programmieren :-)

    Benutzer wird von Ihnen ignoriert. Anzeigen

  5. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor snils 20.08.09 - 11:51

    Assembler ist Assembler und steht über der Maschinensprache, welche diejenige ist, die wirklich von der Hardware an sich interpretiert und verarbeitet wird. 0101010010. jmp und eqn sind bereits "Abstraktionen". Gingen wir eine Stufe höher, kämen wir bei der Programmiersprache für Betriebssysteme schlechthin, C.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  6. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor Trinova 20.08.09 - 11:54

    ähm Assembler sind doch 1 und 0 bzw halt als Hexzahlen oder deren Mnemonics die ja aber eins zu eins übersetzt werden da "ADD" einfacher zu merken ist als der Hexcode. Also man programmiert schon nur Zahlen (Hex werden da nur benutzt weil man dann anstelle von 1101 D schreiben kann^^). Evtl entrollt der Assemblierer noch Schleifen um die Performance zu erhöhen wenn der Platz dafür reicht aber da höhrts dann auch schon auf.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  7. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor Himmerlarschundzwirn 20.08.09 - 11:55

    Joa, ist mir klar.

    Hab ich das falsch erklärt oder wolltest nur nochmal zusammenfassen.

    So, jetzt warte ich auf ein OS aus Nullen und Einsen :-D

    Benutzer wird von Ihnen ignoriert. Anzeigen

  8. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor BOFH 20.08.09 - 12:04

    Konsolen brauchen normalerweise kein eigenes Betriebsystem, da die Zielplatform für die Entwickelt wird immer die gleiche ist. Multitasking ist in der Regel nicht notwendig, so das direkt gegen die Hardware programmiert werden kann. Bei alten Konsolen gab es definitiv kein Betriebsystem. Heute mit Xbox360, PS3 und Wii sieht das schon wieder ein bischen anderst aus, da die Konsolen immer mehr zusätzliche Mediacenterfunktionen übernehmen.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  9. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor Himmerlarschundzwirn 20.08.09 - 12:11

    Mist, ich wollte doch extra "aktuelle Konsolen" schreiben.

    Dass ein NES kein OS hat, war mir schon irgendwie klar :-)

    Benutzer wird von Ihnen ignoriert. Anzeigen

  10. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor sssssssssssss 20.08.09 - 12:24

    > verarbeitet wird. 0101010010. jmp und eqn sind bereits "Abstraktionen".

    hm ich dachte assembler wäre im groben nur ne 1:1 übersetzung

    bsp. jmp wird zu 010101001 wobei jmp assembler ist und 010101001 dann die maschinensprache?

    also vonwegen, der assembler geht hin und macht einfach nur suchen->ersetzen bei allen wörtern die er kennt.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  11. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor mischen impossible 20.08.09 - 12:29

    Es sei denn, du programmierst OPT-Codes.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  12. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor Assemblerking 20.08.09 - 12:51

    aehmmm nein! xD

    Und du kannst Befehlssetze die MMX, SSE,... direkt verwenden

    zb.:

    Hello World in Assemblersprache (MASM für MS-DOS)

    DATA SEGMENT ;- Beginn des Datensegments
    Meldung db "Hello World" ;- Die Zeichenkette "Hello World"
    db "$" ;- Endzeichen der Zeichenkette
    DATA ENDS ;- Ende des Datensegment
    CODE SEGMENT ;- Beginn des Codesegements
    ASSUME CS:CODE,DS:DATA ;- Dem Assembler die Segmente mitteilen
    Anfang: ;- Label für den Anfang des Programms
    mov ax, DATA ;- das Daten...
    mov ds, ax ; ...segment festlegen
    mov dx, offset Meldung ;- den Text in das auf DS bezogene Datenregister laden
    mov ah, 09h ;- Die Unterfunktion 9 des Betriebssysteminterrupts 21h auswählen
    int 21h ;- den Betriebssysteminterrupt 21h (hier erfolgt Ausgabe des Texts) aufrufen
    mov ax, 4C00h ;- Die Unterfunktion 4Ch (Programmbeendigung) des Betriebssysteminterrupts 21h festlegen
    int 21h ;- diesen Befehl wiederum ausführen
    CODE ENDS ;- Ende des Codesegments
    END Anfang ;- dem Assembler das Ende des Labels Anfang mitteilen

    Benutzer wird von Ihnen ignoriert. Anzeigen

  13. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor McHack 20.08.09 - 13:04

    Assembler != Machinencode

    Maschinencode = reiner Zahlenhaufen
    Assemlber = Menmonic und Zahlen, sowie Sprungmarken (Lables) usw.

    Mnemonic = z.B. MOV, der je nach Parameter in den entsprechendn OPCode umgewandelt wird.

    Der OPCode für mov ax, DATA und mov ds, ax bzw. mov ah, 09h ist verschieden.

    Assemlber ist mehr oder weniger Prozessor unabhängig. Maschinen-Code nicht.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  14. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor dermichael 20.08.09 - 13:27

    Ich versuchs auch mal

    Das Herzstück eines jeden Controllers/ Prozessors ist die ALU
    (arithmetic logic unit)

    Diese verarbeitet den Wert zweier Register und legt das Ergebnis in einem dritten ab.

    Die ALU kann arithmetische (zb addieren)
    und logische (zb negieren) Operationen ausführen

    [Nur am Rande: ja nachdem wie viele Stellen diese Register haben, spricht man beispielsweise von einem 6, 16, 32, oder 64 bit Controller]


    Assembler(sprache)
    Jeder Controller besitzt eine Sammlung von Befehlen, welche die ALU mit Werten füttert.

    Da jeder Controller anders aufgebaut ist (Anzahl GP Register, Wortbreite ...) besitzt auch jeder Controller einen für ihn einzigartigen Satz an Assemblerbefehlen.

    Der letzte Satz ist nur bedingt richtig, da viele Controller/Prozessoren auf der gleichen Grundarchitektur beruhen (Beispielsweise die x86 Architektur, die es bis in die 32 bit PC CPUs geschafft hat).

    Normalerweise, würde man ein Programm in einer Hochsprache verfassen, da diese leichter zu lesen und zu programmieren sind.
    Vor allem sind Programme in dieser Form aber portabel.

    Wird ein solches Programm compiliert, übersetzt der Arbeitsrechner diese Hochsprache in die für den jeweiligen Zielcontroller gültigen Assemblerbefehle.

    Programmiert man dagegen direkt in Assembler, dann gezielt mit einem Satz an Assemblerbefehlen -> das Programm ist auf einem anderen Controller nicht lauffähig.


    Die Vorteile von Assemblerprogrammierung sind:
    Durch das direkte ansprechen genau dieses einen Controllers können Befehle eingespart und oder effizienter angeordnet werden, was um einen Geschwindigkeitsvorteile bringt und zum anderen Speicherplatz spart.
    Beides ist vor allem bei Embedded Systems Mangelware, weshalb auf diesen gelegentlich in Assembler Programmiert wird.

    Natürlich kann man Assembler auch noch in wirklich Controllerspezifische Maschinensprache herunterbrechen, aber wer das tut, der wird entweder gut dafür bezahlt oder er braucht dringend ne Freundin.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  15. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor Sogehtsauch 20.08.09 - 13:28

    Wenigstens einer der weiß, was Assembler ist. Gut, aus der Sicht des "Webprogrammierers" haben die anderen auch recht :-D.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  16. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor ProgMonkey 20.08.09 - 13:31

    McHack schrieb:
    --------------------------------------------------------------------------------
    > Assembler != Machinencode
    >
    > Maschinencode = reiner Zahlenhaufen
    > Assemlber = Menmonic und Zahlen, sowie Sprungmarken (Lables) usw.
    >
    > Mnemonic = z.B. MOV, der je nach Parameter in den entsprechendn OPCode
    > umgewandelt wird.
    >
    > Der OPCode für mov ax, DATA und mov ds, ax bzw. mov ah, 09h ist
    > verschieden.

    Bis hier hin (fast) richtig.

    > Assemlber ist mehr oder weniger Prozessor unabhängig. Maschinen-Code nicht.

    Nö: Assembler ist genauso maschinenspezifisch wie Maschinensprache. Assembler hat man entwickelt, weil es für den Menschen erheblich einfacher ist Kürzel (also Menomics) zu verwenden, als irgendwelche Zahlenkolonnen einzutippen. Dann gibt es noch so etwas wie Makros und Labels, die einem das Programmieren in Assembler etwas erleichtern. Das war's dann aber schon.
    Wenn man beispielsweise ein Programm für einen Intel-Prozessor in Assembler schreibt, muß man die entsprechenden Opcodes (=Maschinenbefehle) verwenden, die dieser Prozessor versteht. Dieses Assemblerprogramm lässt sich dann nicht einfach auf einen Sparc-Prozessor übertragen, weil dieser einen vollkommen anderen Instruktionssatz hat.
    Erst mit der Einführung "höherer" Programmiersprachen (und entsprechender Compiler) wie z.B. Cobol, Pascal, Fortran, C, C++ usf. hat man einen Abstraktionsgrad erreicht, der es einen ermöglicht ein Programm auch auf einer anderen Zielplattform zum Laufen zu bekommen (man muß zwar oft noch ein bisschen was anpassen), da es solche Compiler für die verschiedenen Rechnerarchitekturen gibt, die den Quellcode in mehreren Stufen in den entsprechenden Maschinencode übersetzt.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  17. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor Ass-Masch 20.08.09 - 13:34

    sssssssssssss schrieb:
    --------------------------------------------------------------------------------
    > > verarbeitet wird. 0101010010. jmp und eqn sind bereits "Abstraktionen".
    >
    > hm ich dachte assembler wäre im groben nur ne 1:1 übersetzung
    >
    > bsp. jmp wird zu 010101001 wobei jmp assembler ist und 010101001 dann die
    > maschinensprache?
    >
    > also vonwegen, der assembler geht hin und macht einfach nur
    > suchen->ersetzen bei allen wörtern die er kennt.

    Nein. Nehmen wir an es gäbe relative und absolute Sprünge, als z.B. "jmp +23" und "jmp 0x01234567". Dann wird aus dem "jmp +23" z.B. 01011010 00010111, aus "jmp 0x01234567" würde aber "01011011 01234567".

    Also zwei verschiedene jmp für die Maschine, aber nur ein jmp mit zwei verschiedenartigen Parametern für den Programmierer. Dadurch kriegt man auch eine gewisse, geringe plattformunabhängigkeit - der Assembler könnte den relativen jmp auch selbst berechnen und einen absoluten jmp einsetzen, falls die Maschinen keinen relativen jmp hat.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  18. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor Johnny Cache 20.08.09 - 13:35

    Assemblerking schrieb:
    --------------------------------------------------------------------------------
    > aehmmm nein! xD
    >
    > Und du kannst Befehlssetze die MMX, SSE,... direkt verwenden
    >
    > zb.:
    >
    > Hello World in Assemblersprache (MASM für MS-DOS)
    >
    > DATA SEGMENT ;- Beginn des Datensegments
    > Meldung db "Hello World" ;- Die Zeichenkette "Hello World"
    > db "$" ;- Endzeichen der Zeichenkette
    > [...]

    Uiii... lang, lang isses her. Müssen locker 15 Jahre sein.

    Ich hab damals mit programmieren aufgehört als alle Welt meinte daß OOP das schönste auf der Welt sei. Ich schätze das erklärt auch meinen überaus mäßigen Erfolg in meinem Studium. ;)
    Schneller und direkter geht als ASM geht es eben nicht und warum man davon immer weiter Abstand nimmt werde ich wohl nie verstehen.

    Aber wie sagte einer meiner Lehrer damals so schön? "Hey, ihr solltet das doch alleine erarbeiten und ihr habt genau das gleiche geschrieben."
    Worauf ich nur sagen konnte: "Nein, mein code ist zwei Takte schneller." ;)

    Benutzer wird von Ihnen ignoriert. Anzeigen

  19. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor Nuhr 20.08.09 - 13:36

    BOFH schrieb:
    --------------------------------------------------------------------------------
    > Konsolen brauchen normalerweise kein eigenes Betriebsystem, da die
    > Zielplatform für die Entwickelt wird immer die gleiche ist. Multitasking
    > ist in der Regel nicht notwendig, so das direkt gegen die Hardware
    > programmiert werden kann.

    Ach ja, der Spieleprogrammierer will das alles wieder selber programmierern, macht ja viel mehr Spaß, oder?


    >Bei alten Konsolen gab es definitiv kein Betriebsystem.

    ROTFL!

    PS: "Wenn man keine Ahnung hat, einfach mal Klappe halten!"

    Benutzer wird von Ihnen ignoriert. Anzeigen

  20. Re: was genau bedeutet assembler und was daran ist so gut ?

    Autor Assemblerprogrammierer 20.08.09 - 13:40

    ProgMonkey schrieb:
    --------------------------------------------------------------------------------

    > > Assemlber ist mehr oder weniger Prozessor unabhängig. Maschinen-Code nicht.
    >
    > Nö: Assembler ist genauso maschinenspezifisch wie Maschinensprache.

    Assembler sitzt genau eine Schicht höher als Maschinensprache und stellt damit eine gewisse Prozessorunabhängigkeit her. Es gibt kein 1:1-Mapping zwischen Assembler-Mnemonics und Maschinen-Opcodes. Ein Portabilität zwischen verschiedenen Prozessorfamilien ist mir nicht bekannt, innerhalb einer Prozessorfamilie ist sie mit Assembler aber i.d.R. größtenteils gegeben.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  1. 1
  2. 2

Neues Thema Ansicht wechseln


Entschuldigung, nur registrierte Benutzer dürfen in diesem Forum schreiben. Klicken Sie hier um sich einzuloggen

In eigener Sache: Bitte schalte deinen Adblocker aus!
In eigener Sache
Bitte schalte deinen Adblocker aus!

Viele Nutzer betrachten Adblocker als legitime Notwehr gegen die aggressive Werbung im Netz. Für Websites wie Golem.de ist das ein großes Problem. Am Ende verlieren alle. Suche nach Auswegen aus dem Dilemma.

  1. In eigener Sache Golem.de und das Leistungsschutzrecht

Security: Gefährliche Lücke im Linux-Kernel
Security
Gefährliche Lücke im Linux-Kernel

Über eine Schwachstelle im Linux-Kernel kann sich ein lokaler Angreifer von einem eingeschränkten Konto Root-Rechte verschaffen. Die Schwachstelle besteht bereits seit mehreren Jahren. Die Lücke wurde klammheimlich geschlossen.

  1. Polizei Apple hat Warteliste für Umgehung der iPhone-Verschlüsselung
  2. Security D-Link patcht Sicherheitslücken in Routern und IP-Kameras
  3. Stonesoft Intel bietet 389 Millionen Euro für Firewall-Anbieter

Bundestags-LAN: Rösler will Spiele-Champions
Bundestags-LAN
Rösler will Spiele-Champions

Wirtschaftsminister Rösler bekennt sich bei einer Gaming-Veranstaltung im Bundestag ausdrücklich zu Großproduktionen aus Deutschland - und erzählt, welchen Heimcomputer-Klassiker er als Jugendlicher hatte.

  1. Clark Asay Defensive Patente mit freier Software nicht vereinbar?
  2. Verfassungsgericht Anti-Terror-Datei ist in Teilen verfassungswidrig
  3. 2. Politiker-LAN Der Bundestag spielt wieder

  1. Xbox One: Forza 5 und Halo-Serie von Spielberg kommen für Xbox One
    Xbox One
    Forza 5 und Halo-Serie von Spielberg kommen für Xbox One

    Microsoft hat erste Exklusivinhalte für die Xbox One vorgestellt. Neben dem Rennspiel Forza 5 fällt vor allem Halo auf, das noch nicht als Spiel, sondern als Serie von Steven Spielberg auf die Konsole kommt. Für Call of Duty: Ghosts gibt es Exklusivinhalte zuerst.

  2. Microsoft: Xbox One mit neuer Kinect und Blu-ray-Laufwerk
    Microsoft
    Xbox One mit neuer Kinect und Blu-ray-Laufwerk

    Die nächste Konsole von Microsoft heißt Xbox One. Sie wird mit einer neuen Version der Bewegungssteuerung Kinect ausgeliefert und soll die Unterhaltungszentrale im Wohnzimmer werden. Das Datenblatt verrät erste technische Details, und auch zum Erscheinungstermin hat der Hersteller sich geäußert.

  3. Datennetz: Bundesweite Störung beim mobilen Internet der Telekom
    Datennetz
    Bundesweite Störung beim mobilen Internet der Telekom

    Das mobile Internet der Deutschen Telekom ist bundesweit gestört. Nicht alle Anschlüsse sind betroffen. Laut Telekom ist das Software-Problem inzwischen behoben, es dauere aber einige Zeit, bis alle Verbindungen wieder laufen.


  1. 21:12

  2. 19:48

  3. 19:04

  4. 18:51

  5. 18:07

  6. 16:48

  7. 16:24

  8. 15:04