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

Subversion Repositories eco32

[/] [eco32/] [tags/] [eco32-0.23/] [simtest/] [rom/] [rom09.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
;
;
; rom09.s -- string output with timing loop
; rom09.s -- string output with timing 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
; $12 timer base address
; $12 timer base address
; $13 timer value
; $13 timer value
; $31 return address
; $31 return address
 
 
        .set    oba,0xF0300000
        .set    oba,0xF0300000
        .set    tba,0xF0000000
        .set    tba,0xF0000000
 
 
        add     $8,$0,oba
        add     $8,$0,oba
        add     $12,$0,tba
        add     $12,$0,tba
        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     timing
        jal     timing
        j       loop
        j       loop
 
 
out:
out:
        stw     $10,$8,12
        stw     $10,$8,12
        jr      $31
        jr      $31
 
 
timing:
timing:
        ldw     $13,$12,8
        ldw     $13,$12,8
        sub     $9,$13,0x03C00000
        sub     $9,$13,0x03C00000
tim1:
tim1:
        ldw     $13,$12,8
        ldw     $13,$12,8
        bgtu    $13,$9,tim1
        bgtu    $13,$9,tim1
        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.