Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .global asm_main
- asm_main:
- LDR R0, =0x41210000
- LDR R1, =0x41200000
- MOV R8, #0b10000000
- MOV R7, #0b10000000
- press:
- LDR R6, [R1, #0]
- CMP R6, #1
- BNE off
- MOV R7, R8, LSR #1
- MOV R8, R7
- BEQ on
- on:
- LDR R6, [R1, #0]
- STR R7, [R0, #0]
- CMP R6, #1
- BEQ on
- BNE off
- off:
- MOV R7, #0b0000000
- STR R7, [R0, #0]
- B press
- ---------------------------------------------------------------------------------------------------------
- .global asm_main
- asm_main:
- LDR R0, =0x41210000
- LDR R1, =0x41200000
- MOV R8, #0b10000000
- MOV R7, #0b10000000
- press:
- CMP R8, #1
- BEQ resetnum ;@ change flags, to check if R8 is going to become 0, then reset to Leftmost LED
- BL test
- MOV R7, R8, LSR #1
- MOV R8, R7
- BEQ on
- on:
- STR R7, [R0, #0]
- BL test
- BEQ on
- BNE press
- resetnum:
- MOV R8, #0b100000000
- B press
- test:
- LDR R6, [R1, #0]
- CMP R6, #1
- BNE off
- MOV R15, R14
- off:
- MOV R7, #0b0000000
- STR R7, [R0, #0]
- B test2
- test2:
- LDR R6, [R1, #0]
- CMP R6, #1
- beq press
- bne off
- --------------------------------------------------------------------------------------------------------------------------------------
- .global asm_main
- asm_main:
- LDR R0, =0x41210000
- LDR R1, =0x41200000
- MOV R8, #0b10000000
- MOV R7, #0b10000000
- press:
- CMP R8, #1
- BEQ resetnum
- LDR R6, [R1, #0]
- CMP R6, #1
- BNE off
- MOV R7, R8, LSR #1
- MOV R8, R7
- BEQ on
- on:
- LDR R6, [R1, #0]
- STR R7, [R0, #0]
- CMP R6, #1
- BEQ on
- BNE off
- off:
- MOV R7, #0b0000000
- STR R7, [R0, #0]
- B press
- resetnum:
- MOV R8, #0b100000000
- B press
- ------------------------------------------------------------------------------------------------------------------------------------
- .global asm_main
- asm_main:
- LDR R0, =0x41210000
- LDR R1, =0x41200000
- MOV R8, #0b10000000
- MOV R7, #0b10000000
- LDR R9, =#100000
- MOV R5, #0
- press:
- CMP R8, #1
- BEQ resetnum
- LDR R6, [R1,#0]
- CMP R6, #1
- BNE off
- MOV R7, R8, LSR #1
- MOV R8, R7
- BEQ on
- on:
- BL debounce
- LDR R6, [R1, #0]
- STR R7, [R0, #0]
- CMP R6, #1
- BEQ on
- BNE off
- off:
- MOV R7, #0b0000000
- STR R7, [R0, #0]
- BL debounce
- LDR R6, [R1, #0]
- CMP R6, #1
- BNE off
- BEQ press
- resetnum:
- MOV R8, #0b100000000
- B press
- debounce:
- LDR R6, [R1, #0]
- ADD R5,R5,R6
- CMP R9, R5
- BNE debounce
- MOV R5, #0
- MOV R15, R14
- ----------------------------------------------------------------------------------------------------
- .global asm_main
- .align 4
- memory: .space 2000000
- .align 4
- asm_main:
- LDR R3, =memory
- MVN R4, #0
- STR R4, [R3]
- PUSH {R0}
- NOP
- NOP
- NOP
- LDR R0, =0x41210000 ;@ LEDS
- LDR R1, =0x41200000 ;@ BUTTONS
- LDR R2, =0x41220000 ;@ SWITCHES
- MOV R8, #0b10000000
- MOV R7, #0b10000000
- LDR R9, =#131072
- press:
- CMP R8, #1
- BEQ resetnum
- MOV R7, R8, LSR #1
- MOV R8, R7
- LDR R10, [R2,#0]
- MOV R5, R8
- ANDS R5, R5, R10
- BEQ press
- LDR R6, [R1,#0]
- CMP R6, #0
- BEQ off
- BNE debounce
- on:
- LDR R6, [R1, #0]
- STR R7, [R0, #0]
- CMP R6, #0
- BNE debounce
- BEQ off
- off:
- MOV R7, #0b0000000
- STR R7, [R0, #0]
- LDR R6, [R1, #0]
- CMP R6, #0
- BEQ off
- BNE press
- resetnum:
- MOV R8, #0b100000000
- B press
- debounce:
- SUBS R9, R9, #1
- BNE debounce
- LDR R9, =#131072
- BEQ on
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement