Re: C: Arduino : Přesun pole bytů do proměnné unsigned long

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Středa Listopad 8 19:56:40 CET 2023


To je opravdu se zapnutou optimalizaci? Me spis vzdycky prekvapilo, kdyz 
jsem to jeste zkoumal, ze to prekladac pochopi a hezky nasoupe jen byty 
na spravna mista...

Dne 08.11.2023 v 19:38 Jan Waclawek napsal(a):
>> Spíš možná SHIFTovat a ORovat.
>    b2 = rx[3] | (rx[4] << 8) | ((uint32_t)rx[5] << 16) | ((uint32_t)rx[6] <<
> 24);
>    c = b2;
>
>
>    39 0048 E091 0000 		lds r30,rx+3
>    40 004c C091 0000 		lds r28,rx+4
>    41 0050 D0E0      		ldi r29,0
>    42 0052 8091 0000 		lds r24,rx+5
>    43 0056 C82E      		mov r12,r24
>    44 0058 D12C      		mov r13,__zero_reg__
>    45 005a F12C      		mov r15,__zero_reg__
>    46 005c E12C      		mov r14,__zero_reg__
>    47 005e 4091 0000 		lds r20,rx+6
>    48 0062 50E0      		ldi r21,0
>    49 0064 70E0      		ldi r23,0
>    50 0066 60E0      		ldi r22,0
>    51 0068 0091 0000 		lds r16,rx+3
>    52 006c 1091 0000 		lds r17,rx+3+1
>    53 0070 012E      		mov __tmp_reg__,r17
>    54 0072 000C      		lsl r0
>    55 0074 220B      		sbc r18,r18
>    56 0076 330B      		sbc r19,r19
>    57 0078 D601      		movw r26,r12
>    58 007a 9927      		clr r25
>    59 007c 8827      		clr r24
>    60 007e 802B      		or r24,r16
>    61 0080 912B      		or r25,r17
>    62 0082 A22B      		or r26,r18
>    63 0084 B32B      		or r27,r19
>    64 0086 342F      		mov r19,r20
>    65 0088 2227      		clr r18
>    66 008a 1127      		clr r17
>    67 008c 0027      		clr r16
>    68 008e 802B      		or r24,r16
>    69 0090 912B      		or r25,r17
>    70 0092 A22B      		or r26,r18
>    71 0094 B32B      		or r27,r19
>    72 0096 8093 0000 		sts b2,r24
>    73 009a 9093 0000 		sts b2+1,r25
>    74 009e A093 0000 		sts b2+2,r26
>    75 00a2 B093 0000 		sts b2+3,r27
>    76 00a6 8093 0000 		sts c,r24
>    77 00aa 9093 0000 		sts c+1,r25
>    78 00ae A093 0000 		sts c+2,r26
>    79 00b2 B093 0000 		sts c+3,r27
>
> wek
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list