«Какой такой козырёк?»
Код
#include <stdint.h>
extern uint64_t RFID_Card;
extern uint8_t aaa;
void foo()
{
if (RFID_Card == 0x0000000000B8BFD6ULL) ++aaa;
}
IAR C/C++ Compiler for AVR
5.51.1 (5.51.1.50326)
Код
192 void foo()
\ ??foo:
193 {
\ 00000000 2E08 MOV R0, R24
194 if (RFID_Card == 0x0000000000B8BFD6ULL) ++aaa;
\ 00000002 .... LDI R30, LOW(RFID_Card)
\ 00000004 .... LDI R31, (RFID_Card) >> 8
\ 00000006 8100 LD R16, Z
\ 00000008 8111 LDD R17, Z+1
\ 0000000A 8122 LDD R18, Z+2
\ 0000000C 8133 LDD R19, Z+3
\ 0000000E 8144 LDD R20, Z+4
\ 00000010 8155 LDD R21, Z+5
\ 00000012 8166 LDD R22, Z+6
\ 00000014 8177 LDD R23, Z+7
\ 00000016 .... LDI R30, LOW(__Constant_b8bfd6_0)
\ 00000018 .... LDI R31, (__Constant_b8bfd6_0) >> 8
\ 0000001A ........ CALL ?LL_CMP_L12
\ 0000001E F429 BRNE ??foo_1
\ 00000020 9100.... LDS R16, aaa
\ 00000024 9503 INC R16
\ 00000026 9300.... STS aaa, R16
195 }
\ ??foo_1:
\ 0000002A 2D80 MOV R24, R0
\ 0000002C 9508 RET
\ In segment NEAR_ID, align 1, keep-with-next
\ `?<Initializer for 64 Bit Constant>_0`:
\ 00000000 BFD600B80000 DD 12107734, 0
\ 0000
\ In segment NEAR_I, align 1, keep-with-next
\ 00000000 REQUIRE `?<Segment init: NEAR_I>`
\ __Constant_b8bfd6_0:
\ 00000000 DS8 8
\ 00000008 REQUIRE `?<Initializer for 64 Bit Constant>_0`