sbrk.s
来自「操作系统SunOS 4.1.3版本的源码」· S 代码 · 共 46 行
S
46 行
!! "@(#)sbrk.s 1.1 92/07/30"! Copyright (c) 1986 by Sun Microsystems, Inc.! .seg "text"#include "SYS.h"#define SYS_brk 17#define ALIGNSIZE 8 .global curbrk .global _end .seg "data" .align 4curbrk: .word _end .seg "text" ENTRY(sbrk) add %o0, (ALIGNSIZE-1), %o0 ! round up request to align size andn %o0, (ALIGNSIZE-1), %o0#ifdef PIC PIC_SETUP(o5) ld [%o5 + curbrk], %g1 ld [%g1], %o3#else sethi %hi(curbrk), %o2 ld [%o2 + %lo(curbrk)], %o3#endif add %o3, (ALIGNSIZE-1), %o3 ! round up curbrk to align size andn %o3, (ALIGNSIZE-1), %o3 add %o3, %o0, %o0 ! new break setting = request + curbrk mov %o0, %o4 ! save it mov SYS_brk, %g1 t 0 CERROR(o5)#ifdef PIC PIC_SETUP(o5) ld [%o5 + curbrk], %g1 st %o4, [%g1]#else st %o4, [%o2 + %lo(curbrk)] ! store new break in curbrk#endif retl mov %o3, %o0 ! return old break
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?