OpenCores
URL https://opencores.org/ocsvn/eco32/eco32/trunk

Subversion Repositories eco32

[/] [eco32/] [trunk/] [stdalone/] [hello2/] [start.s] - Diff between revs 18 and 95

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 18 Rev 95
;
;
; start.s -- startup code
; start.s -- startup code
;
;
 
 
        .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
 
 
        .code
        .code
_bcode:
_bcode:
 
 
        .data
        .data
_bdata:
_bdata:
 
 
        .bss
        .bss
_bbss:
_bbss:
 
 
        .code
        .code
 
 
        ; reset arrives here
 
reset:
 
        j       start
 
 
 
        ; interrupts arrive here
 
intrpt:
 
        j       intrpt
 
 
 
        ; user TLB misses arrive here
 
userMiss:
 
        j       userMiss
 
 
 
start:
start:
        mvfs    $8,0
        mvfs    $8,0
        or      $8,$8,1 << 27   ; let vector point to RAM
        or      $8,$8,1 << 27   ; let vector point to RAM
        mvts    $8,0
        mvts    $8,0
        add     $29,$0,stack     ; set sp
        add     $29,$0,stack     ; set sp
        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
        add     $8,$0,_bbss      ; clear bss
        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
        jal     main            ; call 'main'
        jal     main            ; call 'main'
start1:
start1:
        j       start1          ; loop
        j       start1          ; loop
 
 
        .bss
        .bss
 
 
        .align  4
        .align  4
        .space  0x800
        .space  0x800
stack:
stack:
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.