clrbss.s
来自「mips架构的bootloader,99左右的版本 但源代码现在没人更新了」· S 代码 · 共 78 行
S
78 行
/************************************************************* * 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 + =
减小字号Ctrl + -
显示快捷键?