Subversion Repositories Kolibri OS

Rev

Rev 7873 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2.  
  3. unsigned long int __rnd_next = 1;
  4.  
  5. int rand(void) // RAND_MAX assumed to be 32767
  6. {
  7.     __rnd_next = __rnd_next * 1103515245 + 12345;
  8.     return (unsigned int)(__rnd_next/65536) % 32768;
  9. }
  10.  
  11. void srand(unsigned int seed)
  12. {
  13.     __rnd_next = seed;
  14. }
  15.  
  16. void *malloc(size_t size)
  17. {
  18.     void  *val;
  19.     __asm__ __volatile__(
  20.     "int $0x40"
  21.     :"=a"(val)
  22.     :"a"(68),"b"(12),"c"(size));
  23.     return val;
  24. }
  25.  
  26. int free(void *mem)
  27. {
  28.     int  val;
  29.     __asm__ __volatile__(
  30.     "int $0x40"
  31.     :"=a"(val)
  32.     :"a"(68),"b"(13),"c"(mem));
  33.     return val;
  34. }
  35.  
  36. void* realloc(void *mem, size_t size)
  37. {
  38.     void *val;
  39.     __asm__ __volatile__(
  40.     "int $0x40"
  41.     :"=a"(val)
  42.     :"a"(68),"b"(20),"c"(size),"d"(mem)
  43.     :"memory");
  44.  
  45.     return val;
  46. };