URL
https://opencores.org/ocsvn/raptor64/raptor64/trunk
Subversion Repositories raptor64
[/] [raptor64/] [trunk/] [software/] [sample code/] [bootrom.lst] - Rev 10
Go to most recent revision | Compare with Previous | Blame | View Log
FFFFFFFFFFFFF000.0 org 0xFFFF_FFFF_FFFF_F000
FFFFFFFFFFFFF000.0 start:
FFFFFFFFFFFFF000.0 048020013FD ori r1,r0,#5117 ; test data
FFFFFFFFFFFFF000.1 00848000018 sqrt r4,r1
FFFFFFFFFFFFF000.2 00848000018 sqrt r4,r1
FFFFFFFFFFFFF010.0 0480400042B ori r2,r0,#1067
FFFFFFFFFFFFF010.1 01044500018 mulu r5,r1,r2
FFFFFFFFFFFFF010.2 04803D00000 ori r1,r0,#0xFFFF_FFFF_FFD0_0000
FFFFFFFFFFFFF020.0 04804000032 ori r2,r0,#0x32
FFFFFFFFFFFFF020.1 0480600064C ori r3,r0,#1612
FFFFFFFFFFFFF020.2 j1:
FFFFFFFFFFFFF020.2 18844000000 sc r2,[r1]
FFFFFFFFFFFFF030.0 02042000002 addi r1,r1,#2
FFFFFFFFFFFFF030.1 028C6000001 subi r3,r3,#1
FFFFFFFFFFFFF030.2 288C1FFFFFE bne r3,r0,j1
FFFFFFFFFFFFF040.0 0C7FFFFFC16 call Getkey
FFFFFFFFFFFFF040.1 37800000000 nop
FFFFFFFFFFFFF040.2 37800000000 nop
FFFFFFFFFFFFF050.0 37800000000 nop
FFFFFFFFFFFFF050.1 37800000000 nop
FFFFFFFFFFFFF050.2 Getkey:
FFFFFFFFFFFFF050.2 04803DC0000 ori r1,r0,#0xFFFF_FFFF_FFDC_0000
FFFFFFFFFFFFF060.0 sr1:
FFFFFFFFFFFFF060.0 10044000000 lb r2,[r1]
FFFFFFFFFFFFF060.1 2A880000000 bge r2,r0,sr1
FFFFFFFFFFFFF060.2 10040000001 lb r0,1[r1] ; clear keyboard strobe
FFFFFFFFFFFFF070.0 0D83E000000 ret
;==============================================================================
; Checkerboard RAM tester
;==============================================================================
;
FFFFFFFFFFFFF070.1 ramtest:
FFFFFFFFFFFFF070.1 01000800009 or r8,r0,r0 ; r8 = 0
FFFFFFFFFFFFF070.2 3D5552AAAD5
FFFFFFFFFFFFF080.0 04802AA5555 ori r1,r0,#0xAAAA5555AAAA5555 ; checkerboard pattern
FFFFFFFFFFFFF080.1 ramtest2:
FFFFFFFFFFFFF080.1 19A02000000 sw r1,[r8] ; save the checkerboard to memory
FFFFFFFFFFFFF080.2 11A04000000 lw r2,[r8] ; read it back
FFFFFFFFFFFFF090.0 01044300006 cmp r3,r1,r2 ; is it the same ?
FFFFFFFFFFFFF090.1 080C2000008 bnez r3,r0,ramtest1
FFFFFFFFFFFFF090.2 02210000008 addi r8,r8,#8 ; increment RAM pointer
FFFFFFFFFFFFF0A0.0 38000000000
FFFFFFFFFFFFF0A0.1 03207000000 cmpi r3,r8,#0x0000_0000_0100_0000
FFFFFFFFFFFFF0A0.2 080C5FFFFF9 bltz r3,r0,ramtest2
FFFFFFFFFFFFF0B0.0 ramtest1:
FFFFFFFFFFFFF0B0.0 01200A00009 or r10,r8,r0 ; r10 = max ram address
; readback the checkerboard pattern
FFFFFFFFFFFFF0B0.1 01000800009 or r8,r0,r0 ; r8 = 0
FFFFFFFFFFFFF0B0.2 ramtest4:
FFFFFFFFFFFFF0B0.2 11A04000000 lw r2,[r8]
FFFFFFFFFFFFF0C0.0 3D5552AAAD5
FFFFFFFFFFFFF0C0.1 03086AA5555 cmpi r3,r2,#0xAAAA5555AAAA5555
FFFFFFFFFFFFF0C0.2 080C2000009 bnez r3,r0,ramtest3
FFFFFFFFFFFFF0D0.0 02210000008 addi r8,r8,#8
FFFFFFFFFFFFF0D0.1 38000000000
FFFFFFFFFFFFF0D0.2 03207000000 cmpi r3,r8,#0x0000_0000_0100_0000
FFFFFFFFFFFFF0E0.0 080C5FFFFF6 bltz r3,r0,ramtest4
FFFFFFFFFFFFF0E0.1 ramtest3:
FFFFFFFFFFFFF0E0.1 28A1400001E bne r8,r10,ramtest8 ; check for equal maximum address
; perform ramtest again with inverted checkerboard
FFFFFFFFFFFFF0E0.2 01000800009 or r8,r0,r0 ; r8 = 0
FFFFFFFFFFFFF0F0.0 3AAAAD5552A
FFFFFFFFFFFFF0F0.1 0480355AAAA ori r1,r0,#0x5555AAAA5555AAAA
FFFFFFFFFFFFF0F0.2 ramtest5:
FFFFFFFFFFFFF0F0.2 19A02000000 sw r1,[r8]
FFFFFFFFFFFFF100.0 11A04000000 lw r2,[r8]
FFFFFFFFFFFFF100.1 01044300006 cmp r3,r1,r2
FFFFFFFFFFFFF100.2 080C2000009 bnez r3,r0,ramtest6
FFFFFFFFFFFFF110.0 02210000008 addi r8,r8,#8
FFFFFFFFFFFFF110.1 38000000000
FFFFFFFFFFFFF110.2 03207000000 cmpi r3,r8,#0x0000_0000_0100_0000
FFFFFFFFFFFFF120.0 080C5FFFFF6 bltz r3,r0,ramtest5
FFFFFFFFFFFFF120.1 ramtest6:
FFFFFFFFFFFFF120.1 01200B00009 or r11,r8,r0 ; r11 = max ram address
; readback checkerboard
FFFFFFFFFFFFF120.2 01000800009 or r8,r0,r0
FFFFFFFFFFFFF130.0 ramtest7:
FFFFFFFFFFFFF130.0 11A04000000 lw r2,[r8]
FFFFFFFFFFFFF130.1 3AAAAD5552A
FFFFFFFFFFFFF130.2 0308755AAAA cmpi r3,r2,#0x5555AAAA5555AAAA
FFFFFFFFFFFFF140.0 080C2000006 bnez r3,r0,ramtest8
FFFFFFFFFFFFF140.1 02210000008 addi r8,r8,#8
FFFFFFFFFFFFF140.2 38000000000
FFFFFFFFFFFFF150.0 03207000000 cmpi r3,r8,#0x0000_0000_0100_0000
FFFFFFFFFFFFF150.1 080C5FFFFF8 bltz r3,r0,ramtest7
FFFFFFFFFFFFF150.2 ramtest8:
FFFFFFFFFFFFF150.2 28216000005 beq r8,r11,ramtest9
FFFFFFFFFFFFF160.0 01216800014 min r8,r8,r11
FFFFFFFFFFFFF160.1 ramtest9:
FFFFFFFFFFFFF160.1 28214000004 beq r8,r10,ramtest10
FFFFFFFFFFFFF160.2 01214800014 min r8,r8,r10
FFFFFFFFFFFFF170.0 ramtest10:
FFFFFFFFFFFFF170.0 19810000400 sw r8,0x00000400 ;memend
FFFFFFFFFFFFFFC0.0 org 0xFFFF_FFFF_FFFF_FFC0
FFFFFFFFFFFFFFC0.0 37800000000 nop
FFFFFFFFFFFFFFC0.1 37800000000 nop
FFFFFFFFFFFFFFC0.2 37800000000 nop
FFFFFFFFFFFFFFD0.0 37800000000 nop
FFFFFFFFFFFFFFD0.1 37800000000 nop
FFFFFFFFFFFFFFD0.2 37800000000 nop
FFFFFFFFFFFFFFE0.0 37800000000 nop
FFFFFFFFFFFFFFE0.1 37800000000 nop
FFFFFFFFFFFFFFE0.2 37800000000 nop
FFFFFFFFFFFFFFF0.0 org 0xFFFF_FFFF_FFFF_FFF0
FFFFFFFFFFFFFFF0.0 0CFFFFFFC00 jmp start
FFFFFFFFFFFFFFF0.1 00000000000
FFFFFFFFFFFFFFF0.2 00000000000
Go to most recent revision | Compare with Previous | Blame | View Log