Advertisement
Guest User

or1k memory checker

a guest
Aug 29th, 2013
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. .org 0x100
  2.  
  3. # r3: base gpio
  4. # r4: scratch
  5. # r5: address to be checked
  6. # r6: 0xaa
  7. # r7: 0x55
  8. # r8: 0xff
  9. # r10: end-address 0x100000
  10.  
  11. init:
  12. l.movhi r3,0x9100 # r3 = base address gpio
  13. l.add r4,r0,r0 # r4 = 0
  14.  
  15. l.sb 0x0(r3),r4 # *r3 = 0, reset LEDs
  16.  
  17. l.addi r5,r0,0x200 # r5 = 0x200
  18. l.movhi r10,0x100 # r10 = 0x100000 = end address
  19.  
  20. l.addi r6,r0,0xaa
  21. l.addi r7,r0,0x55
  22. l.addi r8,r0,0xff
  23.  
  24. loop:
  25. # test pattern 0
  26. l.sb 0(r5), r0
  27. l.lbz r4, 0(r5)
  28. l.sfne r4, r0
  29. l.bf memerr
  30. l.nop
  31.  
  32. # test pattern aa
  33. l.sb 0(r5), r6
  34. l.lbz r4, 0(r5)
  35. l.sfne r4, r6
  36. l.bf memerr
  37. l.nop
  38.  
  39. # test pattern 55
  40. l.sb 0(r5), r7
  41. l.lbz r4, 0(r5)
  42. l.sfne r4, r7
  43. l.bf memerr
  44. l.nop
  45.  
  46. # test pattern ff
  47. l.sb 0(r5), r8
  48. l.lbz r4, 0(r5)
  49. l.sfne r4, r8
  50. l.bf memerr
  51. l.nop
  52.  
  53. # write 0 again
  54. l.sb 0(r5), r0
  55.  
  56. l.addi r5, r5, 1
  57. l.sfltu r5, r10
  58. l.bf loop
  59. l.nop
  60. l.j end
  61.  
  62. memerr:
  63. l.sb 0(r3),r8
  64. endless:
  65. l.j endless
  66.  
  67. end:
  68. l.nop
  69. l.j end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement