|
|
Zeile 1: |
Zeile 1: |
− | | + | =Gegenüberstellung= |
− | | + | |
− | =Gegenüberstellung Assembler und Hochsprache= | + | |
| | | |
| {| {{Blauetabelle}} | | {| {{Blauetabelle}} |
Zeile 10: |
Zeile 8: |
| | '''Assembler''' | | | '''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 |
Version vom 9. Dezember 2005, 16:58 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
- bein Umstieg auf eine andere Architektur muss zuerst ein anderen Assembler-Code erlernt werden
- sogar Portierung innerhalb der gleichen Controllerfamilie (z.B. AVR) erfordert Anpassungen wegen unterschiedlichem Befehlssätze
- aufwändig in der Entwicklung
|
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.
|