I have written some Assembly code for an assignment, that has me activating the outer bounds of a 7-segment display.The toggle is every time there is a state change, so both when I flick a switch, and when the switch is returned.The microcontroller I have programmed is an ATMega32.How can I make this code more 'crisp'? It looks overly complicated, but I can't seem to figure out how to simplify it. Thanks!.include m32def.incinit:.DEF    counter=R19.DEF    switch=R30reset:; setup port B (output)ldi R16, 255out DDRB, R16 ; setup PORTB as outputout PORTB, R16; setup port C (input)ldi R16, 0x00out DDRC, R16com R16out PORTC, R16ldi R19, 0pinsetup:in  switch, PINCdelay:nopdec R20brne    delayin  R16, PINCcp  R16, switchbrne    pinsetuprjmp    mainmain:in  R16, PINC   ; indls pins i r16ldi R20, 100delay2:nopdec R20brne    delay2in  R17, PINC   ; indls pins i r17cp  R16, R17brne    maincp  R16, switchbrne    countrjmp    maincount:mov switch, R16cpi counter, 0breq    outacpi counter, 1breq    outbcpi counter, 2breq    outccpi counter, 3breq    outdcpi counter, 4breq    outecpi counter, 5breq    outfouta:ldi R18, 8; load a's vrdi ind i R18com R18out PORTB, R18inc counterrjmp    mainoutb:ldi R18, 4; load b's vrdi ind i R18com R18out PORTB, R18inc counterrjmp    mainoutc:ldi R18, 2; load c's vrdi ind i R18com R18out PORTB, R18inc counterrjmp    mainoutd:ldi R18, 1; load d's vrdi ind i R18com R18out PORTB, R18inc counterrjmp    mainoute:ldi R18, 16; load e's vrdi ind i R18com R18out PORTB, R18inc counterrjmp    mainoutf:ldi R18, 64; load f's vrdi ind i R18com R18out PORTB, R18dec counterdec counterdec counterdec counterdec counterrjmp    main
Rotate lit LEDs on a 7-segment display
beginner;assembly