( Nyosigomboc | 2017. 05. 14., v – 12:18 )

"Ráadásul assembly-ben lelkiismeret-furdalás nélkül megteszem azt, hogy két 6 bites változót egy-egy byte alsó 6 bitjén tárolok, míg egy 4 bites változót ugyanezen két byte fennmaradó felső 2-2 bitjén. Mondhatod, hogy megszálottság, de pókerarccal megcsinálom, viszont C-ben ez némileg fájdalmasabb volna."
Egyreszt nem biztos, hogy mindig jol jarsz vele. (bar uC-ben sokszor a RAM a szuk keresztmetszet, flash-bol meg van eleg)

Masreszt:
ARM-on ugye 32 bites minden (ujabban van 64 bites is, de ez most mindegy). Nem szereti az architektura a nem 32 bitre align-olt dolgokat, bizonyos esetekben (pl. fuggvenyeknel - bar a Thumb meg van trukkozve) nincs is olyan, ami ne lenne 32 bites hataron. Ez azt jelenti, hogy a pointerek utolso 2 bitje mindig 0, ezt fel lehet hasznalni adattarolasra. Csak ha pointerkent akarod hasznalni, le kell maszkolni az utolso 2 bitet. Fejlesztettem mar olyan programot, amiben ez a lehetoseg ki volt hasznalva (bar ezen a bitvadaszos reszen nem turtam semmit). Egyebkent a kod jelentos resze C++-ban van. (meg van Lua, C, es Java is)

--
A strange game. The only winning move is not to play. How about a nice game of chess? - Wargames