Код
char size = sizeof(stInqRes);
char *ptr = (U8*)(&stInqRes );
while (size --)
*(ptr ++) = 0;
char *ptr = (U8*)(&stInqRes );
while (size --)
*(ptr ++) = 0;
в асме выклядит так
Код
// 208 char size = sizeof(stInqRes);
LDI R18, 92
// 209 char *ptr = (U8*)(&stInqRes );
LDI R16, LOW(stInqRes)
LDI R17, (stInqRes) >> 8
MOVW R31:R30, R17:R16
// 210 while (size --)
??Event_InqRes_1:
[B] MOV R16, R18
MOV R18, R16 [/B]
DEC R18
TST R16
BREQ ??Event_InqRes_2
// 211 *(ptr ++) = 0;
LDI R16, 0
ST Z, R16
ADIW R31:R30, 1
RJMP ??Event_InqRes_1
??Event_InqRes_2:
LDI R18, 92
// 209 char *ptr = (U8*)(&stInqRes );
LDI R16, LOW(stInqRes)
LDI R17, (stInqRes) >> 8
MOVW R31:R30, R17:R16
// 210 while (size --)
??Event_InqRes_1:
[B] MOV R16, R18
MOV R18, R16 [/B]
DEC R18
TST R16
BREQ ??Event_InqRes_2
// 211 *(ptr ++) = 0;
LDI R16, 0
ST Z, R16
ADIW R31:R30, 1
RJMP ??Event_InqRes_1
??Event_InqRes_2:
зачем туда сюда копировать?
Код
[B] MOV R16, R18
MOV R18, R16 [/B]
MOV R18, R16 [/B]