- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: Die Sprache

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    05.11.2009
    Alter
    30
    Beiträge
    15
    Anzeige

    Powerstation Test
    Hab den Link jetzt doch noch gefunden.
    Wikibooks_assembler

    Hier der Auszug.
    Anspruchsvolle Programme (z. B. Spiele) werden meist erst in einer Hochsprache geschrieben - und laufen unzumutbar langsam. Ersetzt man später einige kritische (am häufigsten durchlaufene) Programmteile durch Maschinensprache, wird das gesamte Programm wesentlich schneller. Ersetzt man nur ein Prozent des Programms an den richtigen Stellen durch Assemblercode, läuft das Programm 10- bis 100-mal schneller!

    Findest du im unteren Teil.

  2. #12
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo Mr.H!

    Ich bin selber ein Umsteiger auf Mikrocontroller und habe bisher immer eigene Hardware mit verschiedenen CPU´s in Assembler (ASM) programmiert.

    Maschinensprache ist die einzige Programmiersprache die entsprechende CPU direkt versteht und in der ein Bit in Software einem Spannungspegel in Hardware entspricht. Sie benötigt leider viel Zeit, grösste Disziplin bei Erstellung eines Programms und genaue Kenntnisse über innere Struktur des Controllers, aber die Ausführungsgeswindigkeit ist für andere Sprachen unerreichbar.

    Schon vor zig Jahren habe ich noch beim "Commodore 64" (6502) mit BASIC-Interpreter gemessen, dass das gleiche um 1000 mal schneller durch ASM erledigt wurde.

    MfG

  3. #13
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Naja, hab's gelesen, was solls.
    Klar kann und muss man ganz spezielles Gefummel mit Assembler machen, meistens dort, wo man die durch die Sprache vorgegebenen Strukturen verlassen muss.
    Je höher die Sprache, desto eher kann das passieren.

    Aber die Zahlen, die da stehen, sind wie eine After-Shave-Werbung, bei der mir versprochen wird, dass ich ab sofort von lustvoll stöhnenden Sexbomben verfolgt werde.

    However, stürz' dich so oder so in die Materie, dann wird du ja selbst sehen, was geht und was nicht.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #14
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Vermutlich kommt die größte Geschwindigkeitssteigerung bei Verwendung von Assembler daher, dass sich die Programmierer bei reiner Maschinensprache mehr Gedanken über die eigentlichen Ziele ihres Codes machen. Bei vernünftigem Programmaufbau erzeugen die modernen C-, Basic- oder Javakompiler ebenfalls sehr schnellen und kompakten Maschinencode. Und den können dann bestenfalls noch echte Assemblerkönner weiter optimieren.

    Als Einsteiger, vor allem wenn man überhaupt keine Gedult kennt, wird man sich mit Assembler sehr quälen. Nicht nur das Programmieren selbst ist zäh, auch das Debugen erfordert mitunter viel mehr Zeit und Kenntnisse als bei Hochsprachen.

    Letztlich ist aber immer diejenige Programmiersprache die Beste, mit der man die gestellte Aufgabe lösen kann.

    Gruß

    mic

    [Edit]
    Ach, das habe ich erst jetzt angeschaut: Der Link oben zeigt auf einen Beitrag über Assembler bei einem 80x86, das ist mit dem Assembler und den Kompilern für RISC-Prozessoren (AVR,PIC..) nur bedingt gültig!
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    35
    Beiträge
    607
    Um Assembler zu programmieren muss man sehr viel Ahnung von der Struktur eines Mikrocontrollers haben und benötigt auch sonst sehr viel Hintergrundwissen.
    Normalerweise reicht C vollkommen aus. Trotzdem gibt es ab und zu Fälle, wo man Funktionen in Assembler programmieren muss, weil sie der C-Compiler nicht so gut übersetzen kann, wie es eigentlich sein müsste. Auch hilft es Assembler zu verstehen, wenn man in einem Programm plötzlich Fehler hat, die eigentlich garnicht sein dürfen, dann lohnt sich der Blick auf den übersetzten Code.
    Diese Fälle sind aber eher die Ausnahme und entstehen erst, wenn man Fortgeschrittene Projekte programmiert.

    Deswegen rate ich zu C.

    Gruß, Yaro

  6. #16
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Um verschiedene Mikrocontroller zu programmieren, ist von Hochsprachen C die optimalste.

    Wenn man dazu noch ASM ziemlich gut beherscht und in die Hochsprache als Funktionen an nötigen wegen Geschwindigkeit Stellen implementieren kann, sollte man in viel kürzerer Zeit genauso schnelle Programme, wie rein ASM, erstellen können.

    MfG

  7. #17
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Früher als die Compiler noch nicht so gut waren, hatte man mit ASM gegen einen einfachen Compiler vielleicht einen Geschwindigkeitsvorteil um den Faktor 10. Mit optimierenden Compilern wie z.B. GCC hat man oft nur einen geringen Geschwindigkeitsvorteil (oft weniger als Faktor 2). Nur bei einigen Ausnahmen (z.B. Ergebnis eines Vergleichs aus dem Carry-flag in eine Variable schieben) kreigt man da noch einen Faktor 10.

    Der Faktor 100-1000 den ASM Schneller sein soll, gilt mehr für Interpreter.

    Ich würde auch zur Programmiereung in C raten, ASM braucht man nur selten, und meistens nur für kleine Teile des Programms, meistens reicht die Geschwindigkeit von C aus. Für fast alle aktuellen µCs gibt es auch C Compiler.

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    05.11.2009
    Alter
    30
    Beiträge
    15
    Erstmal Danke Leute für eure Tipps.

    Ja ich hab mir gestern die Assemblersprache ein wenig angesehen und das mit den ganzen Registern und so mhh klingt als benötige man viel Geduld.

    Ich habe jetzt erstmal beschlossen, dass ich mir das RN-Control Controllerboard und das Buch "Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie. Programmierung in Assembler und C"

    Da werden beide Sprachen ausführlich beschrieben C und AVR Assembler und dann kann ich ja immer noch abwegen und schauen welche SPrache mir besser gefällt.

    Vielen vielen Dank an euch.
    MfG
    Michael

  9. #19
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von copious
    Das hast du in 18min entschieden? In der Regel braucht es nen halben Tag, bis jemand diesen Thread sieht und drauf antworten kann, wenn derjenige nicht sowieso die ganze Zeit den Finger auf der F5-Taste hat
    Ich denke, dass Assembler für den Hobbybereich einfach ne Nummer zu groß ist,i
    Assemler ist letzendlich das beste und schnellste ABER!

    Man muß für jeden µc neu lehrnen, keiner ist gleich, also sehr
    Unflexzibel, da solltze man sich dann auf einen Chip festlegen.
    Kann den dann aber suboptimal Proggen.

    So genannte "Hochsprachen" sind einfacher zu lehnen und zudem
    Flexibel für jeden Typ von µc einstellbar.

    Einfach ist der Anfang mittels Basic, Aber das ist sehr "Maschinen"
    entferhnt, Mensch hat keinen wirklichen Zugang zur Hartware.

    C ist Weltweit Standart, etwas Hartwahre näher als Basic aber
    ( anfangs) etwas schwiriger zu Proggen.

    Gruß Ricard

  10. #20
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    35
    Beiträge
    607
    Ich habe das Buch, was du lesen willst auch gelesen (allerdings schon als Fortgeschrittener) und würde es für den Einstieg eher nicht emfehlen. Das, was dort erklärt wird, ist anfangs sehr verwirrend und nur schwer zu verstehen. Die Sprache C wird dort auch nur angerissen und nicht richtig beigebracht.
    Da eignet sich, wie ich finde, ein Buch in dem man nur C lernt besser.
    Das, was dort erklärt wird, ist anfangs sehr verwirrend und nur schwer zu verstehen.

    Gruß, Yaro

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test