URL
https://opencores.org/ocsvn/plasma/plasma/trunk
[/] [plasma/] [trunk/] [tools/] [boot.asm] - Diff between revs 47 and 110
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 47 |
Rev 110 |
Line 14... |
Line 14... |
.globl entry
|
.globl entry
|
.ent entry
|
.ent entry
|
entry:
|
entry:
|
.set noreorder
|
.set noreorder
|
|
|
#These nine instructions must be the first instructions
|
#These eight instructions must be the first instructions.
|
#convert.exe will correctly initialize $gp
|
#convert.exe will correctly initialize $gp
|
lui $gp,0
|
lui $gp,0
|
ori $gp,$gp,0
|
ori $gp,$gp,0
|
#convert.exe will set $4=.sbss_start $5=.bss_end
|
#convert.exe will set $4=.sbss_start $5=.bss_end
|
ori $4,$0,0
|
lui $4,0
|
ori $5,$0,0
|
ori $4,$4,0
|
ori $sp,$0,0xfff0 #initialize stack pointer
|
lui $5,0
|
|
ori $5,$5,0
|
|
lui $sp,0
|
|
ori $sp,$sp,0xfff0 #initialize stack pointer
|
$BSS_CLEAR:
|
$BSS_CLEAR:
|
sw $0,0($4)
|
sw $0,0($4)
|
slt $3,$4,$5
|
slt $3,$4,$5
|
bnez $3,$BSS_CLEAR
|
bnez $3,$BSS_CLEAR
|
addiu $4,$4,4
|
addiu $4,$4,4
|
Line 33... |
Line 36... |
jal main2
|
jal main2
|
nop
|
nop
|
$L1:
|
$L1:
|
j $L1
|
j $L1
|
|
|
#address 0x30
|
#address 0x3c
|
interrupt_service_routine:
|
interrupt_service_routine:
|
#registers $26 and $27 are reserved for the OS
|
#registers $26 and $27 are reserved for the OS
|
ori $26,$0,0xffff
|
ori $26,$0,0xffff
|
ori $27,$0,46
|
ori $27,$0,46
|
sb $27,0($26) #echo out '.'
|
sb $27,0($26) #echo out '.'
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.