Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MODULE main
- PUBLIC main
- SECTION `.text`:CODE:NOROOT(2)
- THUMB
- main:
- //inicializaicja ledic
- ldr r0, =0x40023830 // AHB1 clocks
- ldr r1, =0x9 // GPIOD clock
- str r1,[r0]
- ldr r0, =0x40020C00 // GPIOD
- ldr r1, =0x55555555 // out (all)
- str r1, [r0, #0x00] // MODER
- ldr r1, =0x0 // push-pull
- str r1, [r0, #0x04] // OTYPER
- ldr r1, =0x0 // low speed
- str r1, [r0, #0x08] // SPEEDR
- ldr r1, =0x0 // no pull
- str r1, [r0, #0x0C] // PUPDR
- //konec inicializacije ledic
- //inicializacija gumba
- ldr r0, =0x40020000 // mode
- ldr r1, =0xA8000000 // in
- str r1,[r0]
- ldr r0, =0x4002000C //
- ldr r1, =0x64000000 //
- str r1,[r0]
- //konec inicializacije gumba
- /*
- // Priziganje in ugasanje ledic v krogu
- ldr r0,=0x40020C00
- ldr r1,=0x8000 // 8000 prizge eno lucko, F000 prizge vse lucke
- ldr r2,=0x4000 // 8000 prizge eno lucko, F000 prizge vse lucke
- ldr r3,=0x2000 // 8000 prizge eno lucko, F000 prizge vse lucke
- ldr r4,=0x1000 // 8000 prizge eno lucko, F000 prizge vse lucke
- strh r1,[r0,#0x18] //prizgemo led
- bl delay
- strh r2,[r0,#0x18] //prizgemo led
- bl delay
- strh r3,[r0,#0x18] //prizgemo led
- bl delay
- strh r4,[r0,#0x18] //prizgemo led
- bl delay
- strh r4,[r0,#0x1A] //ugasnemo led
- bl delay
- strh r3,[r0,#0x1A] //ugasnemo led
- bl delay
- strh r2,[r0,#0x1A] //ugasnemo led
- bl delay
- strh r1,[r0,#0x1A] //ugasnemo led
- bl delay
- */
- loop2:
- // vstopna tocka
- push {lr}
- push {r11}
- mov r11, sp
- ldr r0,=0x40020C00
- ldr r1,=0x40020010 // stanje gumba preberes na bitu 0
- push {r6-r7}
- //loop2:
- ldr r2, [r1] // vrednost, ki je na lokaciji, ki je zapisana v r1, shranis v r2
- ands r2, r2, #1
- it ne
- blne gumb // ce je zadnji bit postavljen na 1, skoci na labelo gumb
- // izstopna tocka
- pop {r6-r7}
- mov sp, r11
- pop r11
- pop lr
- b loop2
- //loop: b loop
- delay: ldr r5,=0x989680
- delay_l:
- subs r5,r5,#1
- bne delay_l
- bx lr
- gumb:
- bl delay
- ldr r6,=0xF000
- strh r6,[r0,#0x18] // prizgem vse lucke
- bl delay
- strh r6,[r0,#0x1A] // ugasnem vse lucke
- bl delay
- bx lr
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement