.syntax unified .set DELAY_INTERVAL,0x186004 .set RCC_AHB1ENR,0x40023830 .set GPIOD_MODER,0x40020C00 .set GPIOD_OTYPER,0x40020C04 .set GPIOD_OSPEEDR,0x40020C08 .set GPIOD_PUPDR,0x40020C0C .set GPIOD_ODR,0x40020C14 .global diody diody: turnON: LDR R1, =GPIOD_ODR LDR R0, [R1] ORR R0, #0xF000 STR R0, [R1] LDR R2, =DELAY_INTERVAL delay1: CBZ R2, turnOFF SUBS R2, R2, #1 B delay1 turnOFF: LDR R1,=GPIOD_ODR LDR R0,[R1] AND R0,#0xFFFF0FFF STR R0,[R1] LDR R2,=DELAY_INTERVAL delay2: CBZ R2,delayDone SUBS R2,R2,#1 B delay2 delayDone: B turnON