| 12345678910111213141516171819202122232425262728293031323334353637 | #include "sys.h"#include "picorv32.h"	// The linker ensures that section .init is first	.section ".init.reset","ax"	.globl _reset_reset:	rdtime t0		// Record timer at reset	li sp,STACK_TOP		// Cheaper than using la sp,___stack_top	.option push	.option norelax		// Can't make gp references to set up gp...	la gp, __global_pointer$	.option pop	sw t0, time_zero, t1	j _start	.type _reset, @function	.size _reset, . - _reset	.pushsection ".sdata","a"	.balign 4	.globl time_zerotime_zero:	.long 0	.type time_zero, @object	.size time_zero, . - time_zero	.popsection	.section ".stack","aw",@nobits	.balign 4	.globl ___stack_bottom___stack:	.space STACK_SIZE	.type ___stack, @object	.size ___stack, STACK_SIZE	.globl ___stack_top___stack_top:
 |