Hola amigos, ya conseguí hacer esto en C sin problemas para enteros pero luego he pensado otro modo y queria saber porque no funciona. Mirad lo que probé:
Código C:
Ver original#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
int EFlags,valor,isOverflow;
int pos_bit_overflow=11;
printf("Introduce un valor entero: "); __asm
{
pushfd // store flags (32 bits)
pop EFlags // EFlags = flags w/overflow
}
isOverflow=(EFlags & (1 << pos_bit_overflow));
if(isOverflow != 0){
}
return 0;
}
¿por que si meto un valor que desborda la variable no se activa el bit de overflow del EFlag? ¿falta algo mas para que funcione de esa forma?