.eg said:
Mal ne evt. etwas allgemeinre Frage: Seit ihr sicher, dass ihr besseren/optimierteren ASM-Code schreiben koennt als ein Compiler(in unserem Fall GCC)?
Es ist immer moeglich effektiveren Code zu schreiben, als ihn ein Compiler produziert (zumindest bis jetzt).
Es hat schon seinen Grund, warum Compiler Optimierungsstufen haben, die sich zum Grossteil gegenseitig ausschliessen. Die Compiler greifen auch nur auf vorgegebene Funktionsbibliotheken zurück - und den Sinn hinter dem C-Code verstehen sie auch nicht. Somit können sie nur stur nach einem vorgegeben Schema "optimieren".
Allerdings wird es für einen ungeübten Programmierer schwer, besser als der Compiler zu sein. Man sollte auch nicht unbedingt versuchen den Code zu verstehen, den der Compiler generiert hat - der ist meist nicht wirklich schön... :wink:
Zudem produziert der GCC nicht unbedingt den schnellsten Code. Im Automotive-Bereich wird daher für den ARM viel der Compiler von GreenHills verwendet. Aber auch der hat seine Probleme... es ist immer wieder schön, wenn der Code auf irgendeiner Optimierungsstufe plötzlich nicht mehr funktioniert...
Wie Octoate schon schrieb, bei größeren Projekten sucht man sich eigentlich nur die problematischen Codestellen heraus und versucht diese durch eigenen ASM-Code zu ersetzen.
Bye,
Cranium