Nem is igazán értem, hogy az and, or, xor, shift operátorok miben mások, mint teszem azt, az összeadás. Azért vannak, hogy használjuk őket. Én sokszor mikrokontrollerre programozom assembly-ben, így nekem nagyon kézreállnak ezek. Tegyük hozzá, PC-re írt kódnál sokszor szerencsésebb, ha nem arra optimalizál az ember, hogy megspórol fél byte-ot a RAM-ban, meg két órajelciklust, itt nagyobb érték, ha a kód jól érthető, önkommentelő, általános, hordozható. Hardware-re - amire itt történt utalás, tehát például CPLD, FPGA -, mikrokontrollerre más szempontok az irányadók. Ott minden bit, órajel, makrocella, flip-flop számít, amit valahogyan megspórolunk.
PC-n le merem írni azt, hogy
a *= 8;
Ugyanakkor mikrokontrlleren ezt szinte biztos, hogy így intézem:
a <<= 3;
Vagy például:
rlf valami
rlf valami
rlf valami
movlw 0xf8
andwf valami, f
Ha pl. PIC-ről van szó.
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE