Software > Coding

ASM in C einbinden mit Variablenübergabe

<< < (2/3) > >>

goetz @ 3rz:

--- Zitat von: tuxie am Mi 16.08.2017, 20:08:08 ---Ich nutze den gcc cross compiler von Vincent Riviera um den Freemint kernel zu kompilieren

--- Ende Zitat ---

https://www.google.de/search?client=safari&rls=en&q=gcc+inline+68k+assembler&ie=UTF-8&oe=UTF-8&gfe_rd=cr&ei=2ZGUWYDGG63c8AeM3YuQDQ

-> https://bus-error.nokturnal.pl/article2-Incorporating-m68k-assembly-code-GNU-GAS-in-GCC-C-C-programs

Da der gcc das kann würde ich es inline machen, wenn es nicht seitenweise Assembler ist. Ansonsten halt in .s auslagern. Der erwähnte Artikel ist ganz gut.

mfro:
Zuallererst würde ich mir mal anschauen, ob da überhaupt gar so viel Optimierungspotential ist.

Normalerweise erzeugt der gcc schon ganz brauchbaren Code. Manchmal muß man ihn auch ein wenig überreden ;)

czietz:
Ich würde mir auch erst einmal den von gcc generierten Code ansehen. Z.B. mit objdump. Wie viele Zyklen braucht der und wie viele der selbstgeschriebene Assemblercode?

Die Aussage "zeitkritischen Code muss man in Assembler schreiben" galt vielleicht früher. Bei EmuTOS haben wir die Erfahrung gemacht, dass man -- manchmal mit etwas Überredung, wie von @mfro formuliert -- auch ziemlich performanten Code in C schreiben kann.

PS: Da dieses Forum mich nicht reinlässt, wenn ich das Hotel-WLAN nutze, bin ich nur sporadisch hier online. Bitte m Nachsicht bei Rückfragen.

goetz @ 3rz:

--- Zitat von: czietz am Do 17.08.2017, 16:54:17 ---Die Aussage "zeitkritischen Code muss man in Assembler schreiben" galt vielleicht früher. Bei EmuTOS haben wir die Erfahrung gemacht, dass man -- manchmal mit etwas Überredung, wie von @mfro formuliert -- auch ziemlich performanten Code in C schreiben kann.

--- Ende Zitat ---

Nicht nur C, sondern, wenn man mag, sogar C++:

https://www.youtube.com/watch?v=zBkNBP00wJE

Mein Lieblingslink zum Thema. Da baut einer mit neuestem C++-Sprachstandard ein Spiel für’n C64. Man sieht beim Entwickeln live den generierten 6502-Code. Und der ist echt kompakt.

tuxie:
Darum geht es in diesem fall gar nicht !!!! geht hier nicht darum um Routinen durch Asm Code direct zu ersetzen. Hier geht es darum das wir bestimmte dinge in die Hardware auslagern wollen. Und da Holger perfekt Assembler kann, will er die kleinen Änderungen in Assembler machen. Leider bin ich nicht so Fit in C um dies in C umzusetzen.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln