- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 9 von 9

Thema: Sowas wie SPRUNGMARKEN in C

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.712
    Zitat Zitat von µcFlo Beitrag anzeigen
    ... sowas wie Goto. Aber gibt es sowas in C und wenn wie geht es? ...
    Hier lohnt sich wieder mal mein Kernighan/Ritchie. Da kommt das goto sogar im Sachverzeichnis vor.

    Zitat Zitat von Kernighan & Ritchie ISBN 3-446-15497-3, 1990, Seite 64
    ...
    3.8 goto und Marken
    C verfügt auch über eine beliebig zu mißbrauchende goto-Anweisung und Marken ... Wir haben in diesem Buch goto nicht verwendet (Anmerkung von mir: *ggg*)...
    In einem großartigen Projekt (Transistortester) das ich nachgebaut und nach meinen Wünschen erweitert/geändert habe, werden mehrfach Sprungmarken verwendet - und das Ding läuft und läuft und läuft.

    Ich meide Sprungmarken - fast immer. Aber nur, weil es so was Ähnliches ist wie rechts überholen - tut man nicht, nur manchmal dann doch.
    Ciao sagt der JoeamBerg

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Alle Jahre wieder:

    https://www.roboternetz.de/community...der-doch-nicht

    Wirklich nett sind selbstmodifizierende Programme.

    Schnell, kompakt und eine echte Herausforderung beim Debuggen :)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    15.02.2004
    Beiträge
    19
    Die Frage ist nicht ob goto oder nicht, sondern die Denkweise die bei einem Assemblerprogrammierer im Sinne von Nassi-Shneidermann nicht strukturiert ist.
    Empfehlung: Formuliere dein Problem zunächst als NS-Diagramm (nicht Flußdiagramm) dann kannst du es anschliessend sowohl in ASM als auch in C codieren.
    In ASM macht man das dann nicht immer so wie in C, weil man z. Bsp. irgendwo hinspringen kann wo es ein gemeinsames Ende gibt während man in C dieses
    Ende als Funktion ausgegliedert mehrfach aufrufen müsste. Als ASM Programmierer leuchtet einem dieser scheinbar unnötige Aufwand nicht gerade ein, aber
    wenn man genau guckt, optimiert ein guter C-Compiler das letztendlich auch wieder weg und macht bedingte Sprünge draus. Wenn der Optimierer was taugt,
    so öhnlich (oder unübersichtlicher und schneller) wie man das selbst auch gemacht hätte. Manche Optimierer ersetzen sogar einen RETURN durch JUMP was
    man als ASM Programmierer wegen der Übersichtlichkeit nicht unbedingt gemacht hätte.

    Bei SPS Anweisungslisten (wurde früher bei Siemns S5 wie Assembler von diskrekt aufgebauten Prozessoren direkt ausgefürt) gibt es übrigens zahlreiche bedingt ausgeführte Befehle.
    Im uC Assembler ist bedingte Ausführung meist nur für Sprünge bekannt, Siemens S5 machte das aber für Bitbefehle wie etwa Bit-setzen oder Bit-rücksetzen. Diese werden nur dann ausgeführt, wenn ein Flag
    des Vorgängerbefehls dies erlaubt. Im uC Assmbler würde man da einen bedingten Sprung machen, der mit einer Sprungmarke hinter den Bitbefehl springt. Eben nur weil es keinen bedingt ausführbaren Bitbefehl gibt. Goto ist also keineswegs eine Frage des schlechten Stils sondern einfach nur der Denkweise. C-Neulinge können sich auch mal Anschauen, was der Compiler bei Break Anweisungen (=goto) macht. Das ist schließlich ein Befehl welcher sogar als "struktruiert" anerkannt ist.

Ähnliche Themen

  1. Könnt ihr sowas bauen ?
    Von NoPlan im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 7
    Letzter Beitrag: 02.02.2012, 05:55
  2. Wie baut man sowas? Erfahrungen?
    Von PuraVida im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 14
    Letzter Beitrag: 24.01.2012, 19:26
  3. Wie schafft man sowas?
    Von Kampi im Forum Offtopic und Community Tratsch
    Antworten: 4
    Letzter Beitrag: 04.01.2012, 16:44
  4. ich brauche sowas wie ein bit array
    Von wischos im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 25.09.2007, 17:09
  5. RxD Interrupt? Gibt es sowas?
    Von strunz im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 20.04.2006, 11:03

Berechtigungen

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

Labornetzteil AliExpress