author | Markus Bröker <mbroeker@largo.dyndns.tv> |
Thu, 16 Apr 2009 12:49:12 +0200 | |
changeset 51 | a03372ef9714 |
parent 9 | c3fecc82ade6 |
child 77 | 49e0babccb23 |
permissions | -rw-r--r-- |
/** * test/demos/asm/main.c * Copyright (C) 2008 Markus Broeker */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <signal.h> #ifndef TIMEOUT #define TIMEOUT 500 #endif int get_sp (); void sigendian () { unsigned short word = 0x1234; unsigned char *p = (unsigned char *)&word; signal (SIGUSR1, sigendian); printf ("%s Endian System\n", (p[0] == 0x34) ? "Little" : "Big"); } void sigproc () { signal (SIGINT, sigproc); printf ("Stack-Pointer is at %08x\n", get_sp ()); } void sigquit () { printf ("Hmm... You got it, man!\n"); exit (0); } int main (int argc, char **argv) { signal (SIGINT, sigproc); signal (SIGUSR1, sigendian); signal (SIGQUIT, sigquit); for (;;) usleep (TIMEOUT); return EXIT_FAILURE; }