brk.S revision 1.3
1/* $NetBSD: brk.S,v 1.3 1998/05/25 15:35:06 ws Exp $ */ 2 3#include "SYS.h" 4 5 .globl _ASM_LABEL(curbrk) 6 7 .text 8 9#ifdef PIC 10 XXX 11#else 12ENTRY(brk) 13 lis 5,_C_LABEL(end)@ha # r5 = &_end 14 addi 5,5,_C_LABEL(end)@l 15 cmplw 5,3 # if (&_end <= r3) 16 bgt 0f 17 mr 5,3 # r5 = r3 180: 19 mr 3,5 # new break value 20 li 0,SYS_break 21 sc # assume, that r5 is kept 22 bso 1f 23 lis 6,_ASM_LABEL(curbrk)@ha # record new break 24 stw 5,_ASM_LABEL(curbrk)@l(6) 25 blr # return 0 26 271: 28 b _ASM_LABEL(cerror) 29#endif 30