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


main:
//1. Taktversorgung herstellen
	ldr	R0,=rcc	//AHBENR AHB Enable Register
	ldr	R1,[R0,RCC_AHBENR]
	orr R1,Bit2+Bit1+Bit0  //Bit2 GPIOC, Bit1 GPIOB, Bit0 GPIOA
	str R1,[R0,RCC_AHBENR]

//2. GPIOB als Inputport festlegen
	ldr R0,=GPIOB
	mov	R1,#0b0000000000000000 	//00: Input 01: Output 10: Alternate
								//11: analog
	strh R1,[R0,MODER]	//Mode Register Bit0 bis bit 7 als Input

//3. wenn nötig Pulldowns einschalten
	mov	R1,0b0101010101010101  //00 kein Pull 01 Pulldown 10 Pullup
								//Offenen Schalter werden als 0 (down)
								//interpretiert
	strh R1,[R0,PUPDR]

//4. GPIOC als Ausgänge konfigurieren
 	ldr	R1,=GPIOC
 	mov	R2,0b0101010101010101	//16Bit immer 01: Output
 	strh R2,[R1,MODER]

	schleife:
	ldrb	R2,[R0,IDR]
	strb 	R2,[R2,ODR]

b schleife

.end
