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

Subversion Repositories eco32

[/] [eco32/] [trunk/] [monitor/] [monitor/] [copy/] [copy.s] - Rev 200

Compare with Previous | Blame | View Log

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

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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