Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .org 0x100
- # r3: base gpio
- # r4: scratch
- # r5: address to be checked
- # r6: 0xaa
- # r7: 0x55
- # r8: 0xff
- # r10: end-address 0x100000
- init:
- l.movhi r3,0x9100 # r3 = base address gpio
- l.add r4,r0,r0 # r4 = 0
- l.sb 0x0(r3),r4 # *r3 = 0, reset LEDs
- l.addi r5,r0,0x200 # r5 = 0x200
- l.movhi r10,0x100 # r10 = 0x100000 = end address
- l.addi r6,r0,0xaa
- l.addi r7,r0,0x55
- l.addi r8,r0,0xff
- loop:
- # test pattern 0
- l.sb 0(r5), r0
- l.lbz r4, 0(r5)
- l.sfne r4, r0
- l.bf memerr
- l.nop
- # test pattern aa
- l.sb 0(r5), r6
- l.lbz r4, 0(r5)
- l.sfne r4, r6
- l.bf memerr
- l.nop
- # test pattern 55
- l.sb 0(r5), r7
- l.lbz r4, 0(r5)
- l.sfne r4, r7
- l.bf memerr
- l.nop
- # test pattern ff
- l.sb 0(r5), r8
- l.lbz r4, 0(r5)
- l.sfne r4, r8
- l.bf memerr
- l.nop
- # write 0 again
- l.sb 0(r5), r0
- l.addi r5, r5, 1
- l.sfltu r5, r10
- l.bf loop
- l.nop
- l.j end
- memerr:
- l.sb 0(r3),r8
- endless:
- l.j endless
- end:
- l.nop
- l.j end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement