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

Subversion Repositories eco32

[/] [eco32/] [tags/] [eco32-0.23/] [simtest/] [rom/] [rom08.s] - Diff between revs 37 and 157

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

Rev 37 Rev 157
;
;
; rom08.s -- string output with delay loop
; rom08.s -- string output with delay loop
;
;
 
 
; $8  I/O base address
; $8  I/O base address
; $9  temporary value
; $9  temporary value
; $10 character
; $10 character
; $11 pointer to string
; $11 pointer to string
; $31 return address
; $31 return address
 
 
        .set    oba,0xF0300000
        .set    oba,0xF0300000
 
 
        add     $8,$0,oba
        add     $8,$0,oba
        add     $11,$0,hello
        add     $11,$0,hello
loop:
loop:
        ldbu    $10,$11,0
        ldbu    $10,$11,0
stop:
stop:
        beq     $10,$0,stop
        beq     $10,$0,stop
        jal     out
        jal     out
        add     $11,$11,1
        add     $11,$11,1
        jal     delay
        jal     delay
        j       loop
        j       loop
 
 
out:
out:
        stw     $10,$8,12
        stw     $10,$8,12
        jr      $31
        jr      $31
 
 
delay:
delay:
        add     $9,$0,0x00200000
        add     $9,$0,0x00200000
del1:
del1:
        sub     $9,$9,1
        sub     $9,$9,1
        bne     $9,$0,del1
        bne     $9,$0,del1
        jr      $31
        jr      $31
 
 
hello:
hello:
        .byte   "Hello, world!", 0x0D, 0x0A, 0
        .byte   "Hello, world!", 0x0D, 0x0A, 0
 
 

powered by: WebSVN 2.1.0

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