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

Subversion Repositories eco32

[/] [eco32/] [trunk/] [monitor/] [monitor/] [copy/] [copy.s] - Diff between revs 62 and 200

Only display areas with differences | Details | Blame | View Log

Rev 62 Rev 200
;
;
; copy.s -- copy a program from ROM to RAM before executing it
; copy.s -- copy a program from ROM to RAM before executing it
;
;
 
 
        .set    dst,0xC0000000          ; destination is start of RAM
        .set    dst,0xC0000000          ; destination is start of RAM
        .set    len,0x0000C000          ; number of bytes to be copied
        .set    len,0x0000FF00          ; number of bytes to be copied
 
 
        .set    PSW,0                    ; reg # of PSW
        .set    PSW,0                    ; reg # of PSW
 
 
reset:
reset:
        j       start
        j       start
 
 
interrupt:
interrupt:
        j       interrupt               ; we better have no interrupts
        j       interrupt               ; we better have no interrupts
 
 
userMiss:
userMiss:
        j       userMiss                ; and no user TLB misses
        j       userMiss                ; and no user TLB misses
 
 
start:
start:
        mvts    $0,PSW                   ; disable interrupts and user mode
        mvts    $0,PSW                   ; disable interrupts and user mode
        add     $8,$0,src
        add     $8,$0,src
        add     $9,$0,dst
        add     $9,$0,dst
        add     $10,$9,len
        add     $10,$9,len
loop:
loop:
        ldw     $11,$8,0         ; copy word
        ldw     $11,$8,0         ; copy word
        stw     $11,$9,0
        stw     $11,$9,0
        add     $8,$8,4                 ; bump pointers
        add     $8,$8,4                 ; bump pointers
        add     $9,$9,4
        add     $9,$9,4
        bltu    $9,$10,loop             ; more?
        bltu    $9,$10,loop             ; more?
        add     $8,$0,dst                ; start execution
        add     $8,$0,dst                ; start execution
        jr      $8
        jr      $8
 
 
        ; the program to be copied follows immediately
        ; the program to be copied follows immediately
src:
src:
 
 

powered by: WebSVN 2.1.0

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