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

Subversion Repositories plasma

[/] [plasma/] [trunk/] [tools/] [boot.asm] - Diff between revs 177 and 194

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 177 Rev 194
Line 76... Line 76...
   mfhi  $27
   mfhi  $27
   sw    $27, 92($29)    #hi
   sw    $27, 92($29)    #hi
   mflo  $27
   mflo  $27
   sw    $27, 96($29)    #lo
   sw    $27, 96($29)    #lo
 
 
   addi  $5,  $29, 0
 
   lui   $6,  0x2000
   lui   $6,  0x2000
   lw    $4,  0x20($6)   #IRQ_STATUS
   lw    $4,  0x20($6)   #IRQ_STATUS
   lw    $6,  0x10($6)   #IRQ_MASK
   lw    $6,  0x10($6)   #IRQ_MASK
   jal   OS_InterruptServiceRoutine
 
   and   $4, $4, $6
   and   $4, $4, $6
 
   jal   OS_InterruptServiceRoutine
 
   addi  $5,  $29, 0
 
 
   #Restore all temporary registers
   #Restore all temporary registers
   lw    $1,  16($29)    #at
   lw    $1,  16($29)    #at
   lw    $2,  20($29)    #v0
   lw    $2,  20($29)    #v0
   lw    $3,  24($29)    #v1
   lw    $3,  24($29)    #v1
Line 109... Line 109...
   mthi  $27
   mthi  $27
   lw    $27, 96($29)    #lo
   lw    $27, 96($29)    #lo
   mtlo  $27
   mtlo  $27
   addi  $29, $29, 104   #adjust sp
   addi  $29, $29, 104   #adjust sp
 
 
 
isr_return:
   ori   $27, $0, 0x1    #re-enable interrupts
   ori   $27, $0, 0x1    #re-enable interrupts
   jr    $26
   jr    $26
   mtc0  $27, $12        #STATUS=1; enable interrupts
   mtc0  $27, $12        #STATUS=1; enable interrupts
 
 
   .end interrupt_service_routine
   .end interrupt_service_routine
Line 220... Line 221...
   jr    $31
   jr    $31
   sw    $4, 0($6)
   sw    $4, 0($6)
 
 
   .set reorder
   .set reorder
   .end OS_AsmMult
   .end OS_AsmMult
 
 
 
 
 
###################################################
 
   .globl OS_Syscall
 
   .ent OS_Syscall
 
OS_Syscall:
 
   .set noreorder
 
   syscall 0
 
   jr    $31
 
   nop
 
   .set reorder
 
   .end OS_Syscall
 
 
 
 

powered by: WebSVN 2.1.0

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