Gast
#3304487
Hallo, es geht um Bitreverse elegant programmieren. Ich hab mir gedacht:
1 | |
2 | |
3 | |
oder wär
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
das in ASM so besser?
|
Anzeige
|
Bitreverse elegant programmieren
Gast
#3304487
Hallo, es geht um Bitreverse elegant programmieren. Ich hab mir gedacht:
oder wär
das in ASM so besser?
Gast
#3304490
Aus der Hüfte geschossen: schneller & besser ist eine Tabelle. Bemüh mal die Forensuche, das Thema wurde schon mal ausgiebig diskutiert (ist aber ein Weilchen her).
Gast
#3304506
Martin schrieb: > Aus der Hüfte geschossen: schneller & besser ist eine Tabelle. Und übersichtlicher!
Gast
#3304516
Markus Wagner schrieb: > Martin schrieb: >> Aus der Hüfte geschossen: schneller & besser ist eine Tabelle. > Und übersichtlicher! Das sehe ich nicht so. Und im übrigen ist es so, dass es häufig auf die Geschwindigkeit ankommt (z. B. FFT). sowas hier? _builtin_avr_insert_bits (0x087654321, bla , 0); Εrnst B✶ schrieb: > sowas hier? > > _builtin_avr_insert_bits (0x087654321, bla , 0); Eher mit 0x01234567
Gast
#3304527
Εrnst B✶ schrieb: > _builtin_avr_insert_bits Schade, diese Funktion hat genau 2 Google-Treffer. Einer davon ist dieser Thread. Im anderen kommt das Wort gar nicht vor. Johann L. schrieb: > Eher mit 0x01234567 Stimmt. Ermm... "War nur ein Test ob ihr auch aufmerksam seid" :) Nicolas S. schrieb: > Schade, diese Funktion hat genau 2 Google-Treffer versuchs hier: http://gcc.gnu.org/onlinedocs/gcc/AVR-Built_002din-Functions.html (ich hatte ausserdem vorne noch einen Unterstrich vergessen...:
findet gleich mehr...)
Gast
#3304534
Hatten wir heute schon mal... http://gcc.gnu.org/onlinedocs/gcc-4.8.1/gcc/Extended-Asm.html
Gast
#3304542
Nicolas S. schrieb: > Εrnst B✶ schrieb: >> _builtin_avr_insert_bits > > Schade, diese Funktion hat genau 2 Google-Treffer. Einer davon ist > dieser Thread. Im anderen kommt das Wort gar nicht vor. Wieso schade? Ernst hat gar nicht verstanden worum es geht.
Gast
#3304543
Εrnst B✶ schrieb: > http://gcc.gnu.org/onlinedocs/gcc/AVR-Built_002din... Klasse! Danke! Wieder eine sinnvolle neue Funktion gelernt. Martin schrieb: > Ernst hat gar nicht verstanden worum es geht. Bitreihenfolge in einem Byte umdrehen, möglichst elegant, oder nicht? "elegant" ist es für mich, vorgefertigte Intrinics, Lib-funktionen usw. zu verwenden, anstatt das Rad zum X-ten mal neu zu erfinden. Egal ob per XOR-Magie oder inline-ASM.
Gast
#3304577
Sehr elegant und sehr schnell, belegt aber zwei 8-Bit-Ports:
Die Pins von Port C und D sind dabei extern überkreuz verdrahtet.
Gast
#3304792
Εrnst B✶ schrieb: > Martin schrieb: >> Ernst hat gar nicht verstanden worum es geht. > > Bitreihenfolge in einem Byte umdrehen, möglichst elegant, oder nicht? > > "elegant" ist es für mich, vorgefertigte Intrinics, Lib-funktionen usw. > zu verwenden, anstatt das Rad zum X-ten mal neu zu erfinden. Egal ob per > XOR-Magie oder inline-ASM. Sehe ich auch so.
Gast
#3304807
Auf einem richtigen Controller:
asm(" flip");
Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|