| "Код" |
| #include <stdio.h>
int main()
{
unsigned int lbl_begin;
__asm { mov dword ptr lbl_begin, offset l_begin };
__asm jmp l_end;
l_begin:
__asm _emit 0x00;
__asm _emit 0x01;
__asm _emit 0x02;
__asm _emit 0x03;
l_end:
unsigned char c0 = ((unsigned char*)lbl_begin)[0];
if (c0 == 0x00) printf("Equal\n"); else printf("Not Equal\n");
unsigned char c1 = ((unsigned char*)lbl_begin)[1];
if (c1 == 0x01) printf("Equal\n"); else printf("Not Equal\n");
unsigned char c2 = ((unsigned char*)lbl_begin)[2];
if (c2 == 0x02) printf("Equal\n"); else printf("Not Equal\n");
unsigned char c3 = ((unsigned char*)lbl_begin)[3];
if (c3 == 0x03) printf("Equal\n"); else printf("Not Equal\n");
return 0;
}
|
| |
У меня иногда печатает:
Equal, Equal, Equal, Equal
а иногда
Not Equal, Equal, Equal, Equal
Оптимизации отключены. С чем это может быть связяно?