	include declare.h
	xdef	LECTURE

	section code,,c	
LECTURE	MOVE.W	#$FFFF,$5000	/*initialement on considere qu'il n'y a pas d'appui*/
	
	MOVE.B	#$E0,PADR       /*on met toutes les colonnes PA à 0*/

	MOVE.B	PBDR,D1		/*On copie PBDR dans D1*/
	AND.L	#$0000000F,D1		/*On masque les 4 bits de poids forts*/
	CMP.L	#$0000000F,D1		/*On teste l'appui d'une touche du clavier*/
	BEQ	fin		/*Si il n'y a pas d'appui, on va à la fin du programme*/
			
	MOVE.B	#$04,D3		/*on veut savoir sur quelle colonne est ce que l'appui a été détecté, pour cela on masque tous les PA et on les demasque un a un en testant a chaque fois si un appui est detecte*/
	MOVE.B	#$1F,PADR
boucleA	BCLR	D3,PADR

	MOVE.B	PBDR,D1		/*on regarde PB0*/		
	AND.B	#$01,D1
	CMP.B	#$01,D1	
	BEQ.B	casPB1	
	MOVE.B	#$01,D0	/*ligne 1*/
	JMP	trouver
	
casPB1	MOVE.B	PBDR,D1		/*on regarde PB1*/
	AND.B	#$02,D1	
	CMP.B	#$02,D1	
	BEQ.B	casPB2	
	MOVE.B	#$02,D0	/*ligne 2*/
	JMP	trouver
	
casPB2	MOVE.B	PBDR,D1		/*on regarde PB2*/
	AND.B	#$04,D1	
	CMP.B	#$04,D1	
	BEQ.B	casPB3	
	MOVE.B	#$03,D0	/*ligne 3*/	
	JMP	trouver
	
casPB3	MOVE.B	PBDR,D1		/*on regarde PB3*/
	AND.B	#$08,D1	
	CMP.B	#$08,D1	
	BEQ.B	Asuiv	
	MOVE.B	#$04,D0	/*ligne 4*/	
	JMP	trouver
	
Asuiv	SUB	#$01,D3
	JMP	boucleA		/*on a rien trouvé à cette colonne, on passe à la suivante*/
	
trouver	MOVE.B	D0,$5000	/*on stocke le resultat à l'adresse $5000 pour la ligne et $5001 pour la colonne*/
	MOVE.B	D3,$5001
		
fin	rts			  

	end