asm ("mov %1, r4\n" "mov %2, r0\n" "trapa #0\n"	 "mov r0, %0;"	 : "=r"(newbrk) : "r"(addr), "i" (SYS_ify (brk)) : "r0");
asm volatile ("trapa #0x11" : "=z"(newbrk) : "r" (r3), "r" (r4));
__brk (void *addr){  void *newbrk;  asm ("mov %1, r4\n"       "mov %2, r0\n"       "trapa #0\n"	/* do the system call */       "mov r0, %0;"	/* keep the return value */       : "=r"(newbrk)        : "r"(addr), "i" (SYS_ify (brk))       : "r0");  __curbrk = newbrk;  if (newbrk < addr)    {      __set_errno (ENOMEM);      return -1;    }  return 0;}