📄 clrbss.s
字号:
/************************************************************* * File: lib/clrbss.s * Purpose: Part of C runtime library * Author: Phil Bunce (pjb@carmel.com) * Revision History: * 970304 Start of revision history * 980107 Added ifdef for GHS */#include <mips.h>/* * Clear the .bss section as required by C language. */ .globl clrbss .ent clrbssclrbss: # clear the bss area#ifdef BSO_TASKING la t5,__lc_cp beq t5,zero,3f4: lw t1,0(t5) # action beq t1,zero,3f lw t2,4(t5) # dest lw t3,8(t5) # src lw t4,12(t5) # len sll t0,t1,31-2 bgez t0,1f # test CP_REL bit la t0,__lc_zp addu t2,t0 # add _zp to dest1: sll t0,t1,31-1 bgez t0,2f # test CP_BSS bit1: beq t4,zero,2f sw zero,(t2) addu t2,4 subu t4,4 b 1b2: # next section addu t5,16 # size of entry b 4b3:#else#ifdef GHS la v0,__ghsbegin_sbss la v1,__ghsend_bss1: sw zero,0x0(v0) sw zero,0x4(v0) sw zero,0x8(v0) sw zero,0xc(v0) addu v0,16 blt v0,v1,1b#else#ifdef EPI la v0,_fsbss#else la v0,_fbss#endif la v1,BSS_END1: sw zero,0x0(v0) sw zero,0x4(v0) sw zero,0x8(v0) sw zero,0xc(v0) addu v0,16 blt v0,v1,1b#endif#endif j ra .end clrbss
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -