#include <stdio.h>
#include <stdlib.h>
void do_fstenv ( void* p )
{
asm("movl 8(%esp), %eax ; fstenv (%eax)");
}
void do_fldenv ( void* p )
{
asm("movl 8(%esp), %eax ; fldenv (%eax)");
}
int main ( void )
{
int i;
unsigned short* buf = malloc(14*sizeof(short));
for (i = 0; i < 14; i++)
buf[i] = i;
buf[0] = 0x037f;
do_fldenv(buf);
do_fstenv(buf);
for (i = 0; i < 14; i++) {
printf("%04x ", buf[i]);
if (i > 0 && ((i % 12) == 11))
printf("\n");
}
printf("\n");
return 0;
}