.syntax unified
.equ L152,1
.include "../Core/src/regs.s"
.global mainasm
mainasm:



main:
	bl 		startup
	ldr 	R1,=GPIOC	//LEDs
	ldr		R4,=GPIOB	//Schalterchen
	ldr		R5,=GPIOA

	schleife:
	ldr		R0,[R5,IDR]		//GPIOA enlesen
	tst		R0,#Bit10		//Taste Bit 10 Prüfen
	beq		schleife		//EQ Zero nicht gedrückt

	tst		R0,#Bit6		//Taste Bit6 prüfen
	bne		links			//gedrück NE => links

	mov		R0,#0b00000101
	strb	R0,[R1,ODR]
	ldrb	R0,[R4,IDR]		//Wartezeit von Schalterchen
	add		R0,#50			//Maximalgeschwindigkeit
	mov		R0,#25
	bl		HAL_Delay

	mov		R0,#0b00000110
	strb	R0,[R1,ODR]
	ldrb	R0,[R4,IDR]		//Wartezeit von Schalterchen
	add		R0,#50			//Maximalgeschwindigkeit
	mov		R0,#25
	bl		HAL_Delay

	mov		R0,#0b00001010
	strb	R0,[R1,ODR]
	ldrb	R0,[R4,IDR]		//Wartezeit von Schalterchen
	add		R0,#50			//Maximalgeschwindigkeit
	mov		R0,#25
	bl		HAL_Delay

	mov		R0,#0b00001001
	strb	R0,[R1,ODR]
	ldrb	R0,[R4,IDR]		//Wartezeit von Schalterchen
	add		R0,#50			//Maximalgeschwindigkeit
	mov		R0,#25
	bl		HAL_Delay

b schleife

links:
	mov		R0,#0b00001001
	strb	R0,[R1,ODR]
	ldrb	R0,[R4,IDR]		//Wartezeit von Schalterchen
	add		R0,#50			//Maximalgeschwindigkeit
	mov		R0,#25
	bl		HAL_Delay

	mov		R0,#0b00001010
	strb	R0,[R1,ODR]
	ldrb	R0,[R4,IDR]		//Wartezeit von Schalterchen
	add		R0,#50			//Maximalgeschwindigkeit
	mov		R0,#25
	bl		HAL_Delay

	mov		R0,#0b00000110
	strb	R0,[R1,ODR]
	ldrb	R0,[R4,IDR]		//Wartezeit von Schalterchen
	add		R0,#50			//Maximalgeschwindigkeit
	mov		R0,#25
	bl		HAL_Delay

	mov		R0,#0b00000101
	strb	R0,[R1,ODR]
	ldrb	R0,[R4,IDR]		//Wartezeit von Schalterchen
	add		R0,#50			//Maximalgeschwindigkeit
	mov		R0,#25
	bl		HAL_Delay

	b		schleife





.end
