Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Laderegler Test Tueftler Seite

(Gegenüberstellung Assembler und Hochsprache: Diskussionsergebnisse)
K (Gegenüberstellung)
 
(3 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
 
+
=Gegenüberstellung=
 
+
=Gegenüberstellung Assembler und Hochsprache=
+
  
 
{| {{Blauetabelle}}
 
{| {{Blauetabelle}}
| <div align="center">'''Quellcode'''</div>
+
|- bgcolor="#ccccff"
| <div align="center">'''Vorteile'''</div>
+
! | Quellcode
| <div align="center">'''Nachteile'''</div>
+
! | Vorteile
  |- valign="top"
+
! | Nachteile
  | '''Assembler'''
+
  |- valign="top"  
 +
  | Assembler
 
  | <!--------------------- + Assembler -->
 
  | <!--------------------- + Assembler -->
Prinzipiell der schnellste bzw kürzeste Code, weil man volle Kontrolle über die Maschine hat
+
* Prinzipiell der schnellste bzw kürzeste Code, weil man volle Kontrolle über die Maschine hat
 
  | <!--------------------- - Assembler -->
 
  | <!--------------------- - Assembler -->
 
* komplette Neuimplementierung bei Portierung auf eine andere Architektur
 
* komplette Neuimplementierung bei Portierung auf eine andere Architektur
* bein Umstieg auf eine andere Architektur muss zuerst ein anderen Assembler-Code erlernt werden
+
* bei Umstieg auf eine andere Architektur muss zuerst ein anderer Assembler-Code erlernt werden
 
* sogar Portierung innerhalb der gleichen Controllerfamilie (z.B. AVR) erfordert Anpassungen wegen unterschiedlichem Befehlssätze
 
* sogar Portierung innerhalb der gleichen Controllerfamilie (z.B. AVR) erfordert Anpassungen wegen unterschiedlichem Befehlssätze
 
* aufwändig in der Entwicklung
 
* aufwändig in der Entwicklung
 +
* Wartung ist schwierig, denn Code wird leicht unübersichtlich
 
  |- valign="top"
 
  |- valign="top"
 
  | '''Hochsprache'''
 
  | '''Hochsprache'''

Aktuelle Version vom 25. Juni 2009, 20:12 Uhr

Gegenüberstellung

Quellcode Vorteile Nachteile
Assembler
  • Prinzipiell der schnellste bzw kürzeste Code, weil man volle Kontrolle über die Maschine hat
  • komplette Neuimplementierung bei Portierung auf eine andere Architektur
  • bei Umstieg auf eine andere Architektur muss zuerst ein anderer Assembler-Code erlernt werden
  • sogar Portierung innerhalb der gleichen Controllerfamilie (z.B. AVR) erfordert Anpassungen wegen unterschiedlichem Befehlssätze
  • aufwändig in der Entwicklung
  • Wartung ist schwierig, denn Code wird leicht unübersichtlich
Hochsprache
  • gute Portierbarkeit
  • schnelle Entwicklung
  • der Compiler kann bekannte Hardware-Bugs umschiffen
  • beim Upgrade auf eine neue Compiler-Version mit besseren Optimierungsstrategien hat man die Optimierungen, ohne die Quelle ändern zu müssen
  • ineffizienterer Code
  • Unsicherheit, wie der Code genau aussieht
  • Compiler sind oft wesentlich komplexer aufgebaut als Assembler, was die Wahrscheinlichkeit von Fehlern im Compiler im Vergleich zu einem Assembler erhöht.
Intermix Hochsprache + Assembler
  • Vorteile von Hochsprache und Assembler
  • nur die Assembler Module/Schnippsel sind schwer portierbar
  • Assembler kann ganz zielgerichtet an kritischen Stellen eingesetzt werden
  • Quellcode bleibt gut lesbar
  • Nachteile von Hochsprache und Assembler
  • die Konvention der Hochsprache muss genau befolgt werden (Registerverwendung bei Funktionsaufrufen, etc.)
  • es sind zwei Sprachen zu beherrschen
  • Objektformat bzw. Compiler und Assembler müssen zueinander passen
  • Je nach verwendeter Mix-Technik (Inline Assembler, Link mehrerer Objekte, dynamisch linkender Bootloader) sind noch zusätzliche Kenntnisse erforderlich.

LiFePO4 Speicher Test