Advertisement
rglaurent1

Lab5

Jun 23rd, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. .global asm_main
  2.  
  3. asm_main:
  4. LDR R0, =0x41210000
  5. LDR R1, =0x41200000
  6. MOV R8, #0b10000000
  7. MOV R7, #0b10000000
  8.  
  9.  
  10. press:
  11. LDR R6, [R1, #0]
  12. CMP R6, #1
  13. BNE off
  14. MOV R7, R8, LSR #1
  15. MOV R8, R7
  16. BEQ on
  17.  
  18. on:
  19. LDR R6, [R1, #0]
  20. STR R7, [R0, #0]
  21. CMP R6, #1
  22. BEQ on
  23. BNE off
  24. off:
  25. MOV R7, #0b0000000
  26. STR R7, [R0, #0]
  27. B press
  28. ---------------------------------------------------------------------------------------------------------
  29. .global asm_main
  30.  
  31. asm_main:
  32. LDR R0, =0x41210000
  33. LDR R1, =0x41200000
  34. MOV R8, #0b10000000
  35. MOV R7, #0b10000000
  36.  
  37. press:
  38. CMP R8, #1
  39. BEQ resetnum ;@ change flags, to check if R8 is going to become 0, then reset to Leftmost LED
  40. BL test
  41. MOV R7, R8, LSR #1
  42. MOV R8, R7
  43. BEQ on
  44.  
  45. on:
  46. STR R7, [R0, #0]
  47. BL test
  48. BEQ on
  49. BNE press
  50.  
  51.  
  52.  
  53. resetnum:
  54. MOV R8, #0b100000000
  55. B press
  56.  
  57.  
  58. test:
  59. LDR R6, [R1, #0]
  60. CMP R6, #1
  61. BNE off
  62. MOV R15, R14
  63.  
  64. off:
  65. MOV R7, #0b0000000
  66. STR R7, [R0, #0]
  67. B test2
  68.  
  69. test2:
  70. LDR R6, [R1, #0]
  71. CMP R6, #1
  72. beq press
  73. bne off
  74.  
  75.  
  76. --------------------------------------------------------------------------------------------------------------------------------------
  77. .global asm_main
  78.  
  79. asm_main:
  80. LDR R0, =0x41210000
  81. LDR R1, =0x41200000
  82. MOV R8, #0b10000000
  83. MOV R7, #0b10000000
  84.  
  85.  
  86. press:
  87. CMP R8, #1
  88. BEQ resetnum
  89.  
  90. LDR R6, [R1, #0]
  91. CMP R6, #1
  92. BNE off
  93. MOV R7, R8, LSR #1
  94. MOV R8, R7
  95. BEQ on
  96.  
  97. on:
  98. LDR R6, [R1, #0]
  99. STR R7, [R0, #0]
  100. CMP R6, #1
  101. BEQ on
  102. BNE off
  103. off:
  104. MOV R7, #0b0000000
  105. STR R7, [R0, #0]
  106. B press
  107.  
  108. resetnum:
  109. MOV R8, #0b100000000
  110. B press
  111.  
  112. ------------------------------------------------------------------------------------------------------------------------------------
  113. .global asm_main
  114.  
  115. asm_main:
  116. LDR R0, =0x41210000
  117. LDR R1, =0x41200000
  118. MOV R8, #0b10000000
  119. MOV R7, #0b10000000
  120. LDR R9, =#100000
  121. MOV R5, #0
  122.  
  123.  
  124. press:
  125. CMP R8, #1
  126. BEQ resetnum
  127.  
  128. LDR R6, [R1,#0]
  129. CMP R6, #1
  130. BNE off
  131. MOV R7, R8, LSR #1
  132. MOV R8, R7
  133. BEQ on
  134.  
  135. on:
  136. BL debounce
  137. LDR R6, [R1, #0]
  138. STR R7, [R0, #0]
  139. CMP R6, #1
  140. BEQ on
  141. BNE off
  142. off:
  143.  
  144. MOV R7, #0b0000000
  145. STR R7, [R0, #0]
  146.  
  147. BL debounce
  148. LDR R6, [R1, #0]
  149. CMP R6, #1
  150.  
  151. BNE off
  152. BEQ press
  153.  
  154. resetnum:
  155. MOV R8, #0b100000000
  156. B press
  157.  
  158.  
  159. debounce:
  160. LDR R6, [R1, #0]
  161. ADD R5,R5,R6
  162. CMP R9, R5
  163. BNE debounce
  164. MOV R5, #0
  165. MOV R15, R14
  166.  
  167. ----------------------------------------------------------------------------------------------------
  168. .global asm_main
  169. .align 4
  170. memory: .space 2000000
  171. .align 4
  172.  
  173. asm_main:
  174.  
  175. LDR R3, =memory
  176. MVN R4, #0
  177. STR R4, [R3]
  178. PUSH {R0}
  179. NOP
  180. NOP
  181. NOP
  182.  
  183. LDR R0, =0x41210000 ;@ LEDS
  184. LDR R1, =0x41200000 ;@ BUTTONS
  185. LDR R2, =0x41220000 ;@ SWITCHES
  186. MOV R8, #0b10000000
  187. MOV R7, #0b10000000
  188. LDR R9, =#131072
  189.  
  190. press:
  191. CMP R8, #1
  192. BEQ resetnum
  193. MOV R7, R8, LSR #1
  194. MOV R8, R7
  195. LDR R10, [R2,#0]
  196. MOV R5, R8
  197. ANDS R5, R5, R10
  198. BEQ press
  199. LDR R6, [R1,#0]
  200. CMP R6, #0
  201. BEQ off
  202. BNE debounce
  203.  
  204. on:
  205. LDR R6, [R1, #0]
  206. STR R7, [R0, #0]
  207. CMP R6, #0
  208. BNE debounce
  209. BEQ off
  210. off:
  211.  
  212. MOV R7, #0b0000000
  213. STR R7, [R0, #0]
  214. LDR R6, [R1, #0]
  215. CMP R6, #0
  216. BEQ off
  217. BNE press
  218.  
  219. resetnum:
  220. MOV R8, #0b100000000
  221. B press
  222.  
  223. debounce:
  224. SUBS R9, R9, #1
  225. BNE debounce
  226. LDR R9, =#131072
  227. BEQ on
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement