;In the Name of Allah
;Counter
	.INCLUDE "m32def.inc"
	LDI R16,0xFF
	OUT DDRB,R16
	LDI R16,0x00
	OUT SPL,R16
	LDI R16,0x01
	OUT SPH,R16
	;----------
	;Enabling Pull Up Resistor for the First Pin of Port A
	LDI R16,0x00
	OUT DDRA,R16
	LDI R16,0b00000000
	OUT SFIOR,R16
	LDI R16,0b00000001
	OUT PORTA,R16
	;----------
	LDI R20,0
LOOP:	IN R16,PINA
	SBRC R16,0	;The next line will be skipped if the switch is pushed.
	RJMP LOOP
	INC R20
	OUT PORTB,R20
	RCALL DELAY
	RJMP LOOP
	;----------
;Making 0.5 Second Delay
	.ORG 0x200
	;***1st Part: Making 1ms Delay***
DELAY:	LDI R19,2
	LDI R18,249
BEG1:	LDI R17,4
BEG2:	LDI R16,249
LOOP4:	DEC R16
	BREQ LOOP3
	RJMP LOOP4
LOOP3:	DEC R17
	BREQ LOOP2
	RJMP BEG2
	;***2nd Part: Repeating the First Part 500 times Resulting in 0.5 Second Delay ***
LOOP2:	DEC R18
	BREQ LOOP1
	RJMP BEG1
LOOP1:	DEC R19
	BREQ END
	LDI R18,250
	RJMP BEG1
END:	RET