История изменений
Исправление lenin386, (текущая версия) :
Флаг переполнения - результат математических операций. Обычный mov никакие флаги не выставляет.
# include <stdio.h>
int a;
unsigned char b;
void main (void)
{
scanf("%d", &a);
b = a;
printf ("%d %d\n", a, b);
}
401144: 88 05 f6 2e 00 00 mov %al,0x2ef6(%rip) # 404040 <b>
40114a: 0f b6 05 ef 2e 00 00 movzbl 0x2eef(%rip),%eax # 404040 <b>
401151: 0f b6 d0 movzbl %al,%edx
Исправление lenin386, :
Флаг переполнения - результат математических операций. Обычный mov никакие флаги не выставляет.
# include <stdio.h>
int a;
unsigned char b;
void main (void)
{
scanf("%d", &a);
b = a;
printf ("%d %d\n", a, b);
}
401144: 88 05 f6 2e 00 00 mov %al,0x2ef6(%rip) # 404040 <b>
40114a: 0f b6 05 ef 2e 00 00 movzbl 0x2eef(%rip),%eax # 404040 <b>
401151: 0f b6 d0 movzbl %al,%edx
0f b6 d0 movzbl %al,%edx
Исходная версия lenin386, :
Флаг переполнения - результат математических операций. Обычный mov никакие флаги не выставляет.
# include <stdio.h>
int a;
unsigned char b;
void main (void)
{
scanf("%d", &a);
b = a;
printf ("%d %d\n", a, b);
}
88 05 f6 2e 00 00 mov %al,0x2ef6(%rip) # 404040 <b>
40114a: 0f b6 05 ef 2e 00 00 movzbl 0x2eef(%rip),%eax # 404040 <b>
401151: 0f b6 d0 movzbl %al,%edx