URL
https://opencores.org/ocsvn/eco32/eco32/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 18 |
Rev 106 |
;
|
;
|
; c0.s -- startup code and begin-of-segment labels
|
; c0.s -- startup code and begin-of-segment labels
|
;
|
;
|
|
|
.import main
|
.import main
|
|
|
.import _ecode
|
.import _ecode
|
.import _edata
|
.import _edata
|
.import _ebss
|
.import _ebss
|
|
|
.export _bcode
|
.export _bcode
|
.export _bdata
|
.export _bdata
|
.export _bbss
|
.export _bbss
|
|
|
.import bootDisk
|
.import bootDisk
|
.import startSector
|
.import startSector
|
.import numSectors
|
.import numSectors
|
|
.import entryPoint
|
|
|
.code
|
.code
|
_bcode:
|
_bcode:
|
|
|
start:
|
start:
|
add $10,$0,_bdata ; copy data segment
|
add $10,$0,_bdata ; copy data segment
|
add $8,$0,_edata
|
add $8,$0,_edata
|
sub $9,$8,$10
|
sub $9,$8,$10
|
add $9,$9,_ecode
|
add $9,$9,_ecode
|
j cpytest
|
j cpytest
|
cpyloop:
|
cpyloop:
|
ldw $11,$9,0
|
ldw $11,$9,0
|
stw $11,$8,0
|
stw $11,$8,0
|
cpytest:
|
cpytest:
|
sub $8,$8,4
|
sub $8,$8,4
|
sub $9,$9,4
|
sub $9,$9,4
|
bgeu $8,$10,cpyloop
|
bgeu $8,$10,cpyloop
|
add $8,$0,_bbss ; clear bss segment
|
add $8,$0,_bbss ; clear bss segment
|
add $9,$0,_ebss
|
add $9,$0,_ebss
|
j clrtest
|
j clrtest
|
clrloop:
|
clrloop:
|
stw $0,$8,0
|
stw $0,$8,0
|
add $8,$8,4
|
add $8,$8,4
|
clrtest:
|
clrtest:
|
bltu $8,$9,clrloop
|
bltu $8,$9,clrloop
|
add $29,$0,0xC0100000 ; setup stack
|
add $29,$0,0xC0020000 ; setup stack
|
stw $16,$0,bootDisk ; make arguments available
|
stw $16,$0,bootDisk ; make arguments available
|
stw $17,$0,startSector
|
stw $17,$0,startSector
|
stw $18,$0,numSectors
|
stw $18,$0,numSectors
|
jal main ; call 'main' function
|
jal main ; call 'main' function
|
ldw $16,$0,bootDisk ; setup arguments for next stage
|
ldw $16,$0,bootDisk ; setup arguments for next stage
|
ldw $17,$0,startSector
|
ldw $17,$0,startSector
|
ldw $18,$0,numSectors
|
ldw $18,$0,numSectors
|
add $31,$0,0xC0000000 ; jump to loaded program
|
ldw $31,$0,entryPoint ; jump to loaded program
|
jr $31
|
jr $31
|
|
|
.data
|
.data
|
_bdata:
|
_bdata:
|
|
|
.bss
|
.bss
|
_bbss:
|
_bbss:
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.