Gast
#100680
Hallo zusammen
Das ist die FAQ:
Why does the compiler compile an 8-bit operation that uses bitwise
operators into a 16-bit operation in assembly?
deshalb habe ich mal das hier :
status_old_2 &= (unsigned char)~status_new;
und dann das hier compilieren lassen:
status_old_2 &= ~status_new;
beides mal kam der gleiche Code heraus:
362: 90 91 15 01 lds r25, 0x0115
366: 90 95 com r25
368: 80 91 16 01 lds r24, 0x0116
36c: 89 23 and r24, r25
36e: 80 93 16 01 sts 0x0116, r24
wo liegt der unterschied bzw. was will mir die FAQ sagen?
Gruß Martin