Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .global _start
- .equ PIOB_BASE, 0xFFFFF600
- .equ PIO_PER, 0
- .equ PIO_ODR, 0x10
- .equ PIO_OER, 0x14
- .equ PIO_SODR, 0x30
- .equ PIO_CODR, 0x34
- .equ PIO_PDSR, 0x3C
- .equ LED, 1<<30
- .equ BOUTON, 1<<24
- init:
- stmfd sp!, {r0, r12, r14}
- ldr r12,=PIOB_BASE
- mov r0, #LED|BOUTON
- str r0, [r12, #PIO_PER] @activer les broches 24 et 27
- mov r0, #LED
- str r0, [r12, #PIO_OER] @LED est une sortie
- str r0, [r12, #PIO_SODR]
- str r0, [r12, #PIO_CODR]
- mov r0, #BOUTON
- str r0, [r12, #PIO_ODR]
- ldmfd sp!, {r0, r12, r15}
- _start:
- bl init
- ldr r12,=PIOB_BASE
- mov r1, #LED
- loop:
- ldr r0,[r12, #PIO_PDSR]
- tst r0, #BOUTON
- @ bne loop
- @ tst r0, #LED
- streq r1,[r12, #PIO_CODR] @allume
- strne r1,[r12, #PIO_SODR] @eteint
- b loop
- @loop2:
- @ ldr r0,[r12, #PIO_PDSR]
- @ tst r0,#BOUTON
- @ beq loop2
- @ b loop
- _exit:
- b _exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement