;******************************************************************************
;             KOMBÁJN FORDULATSZÁMMÉRŐ KÉZI BEMENTVÁLASZTÓ EGYSÉG
;******************************************************************************

 LIST P=PIC16F57				;Processor tipusmegadás
 #INCLUDE "P16F5x.INC"			;Include fájl neve 
 errorlevel -302				;Bankhibajelzés kikapcsolása
 errorlevel -305				; 

;KONFIGURÁCIÓS SZÓ
 __CONFIG _CP_OFF & _XT_OSC& _WDT_OFF  

;VÁLTOZÓK DEKLARÁLÁSA
	CBLOCK 0xA
		PORTA_TMP
		PORTB_TMP
		PORTC_TMP
	ENDC
 ORG	0
 GOTO	START

START
;******************************************************************************
;                            PORTOK BEÁLLÍTÁSA
;******************************************************************************
 MOVLW 	B'00000000'				;minden kimenet
 TRIS 	PORTA 
 MOVLW 	B'11111111'				;minden bemenet
 TRIS 	PORTB 
 MOVLW 	B'11111111'				;minden bemenet
 TRIS 	PORTC 
 CLRF	PORTA_TMP
 CLRF	PORTB_TMP
 CLRF	PORTC_TMP
;******************************************************************************
PROGRAM
	MOVF	PORTB,0				;portok beolvasása
	MOVWF	PORTB_TMP
 	MOVF	PORTC,0
 	MOVWF	PORTC_TMP

 	BTFSC	PORTB_TMP,0			;aktív port megkeresése
 	GOTO	PONT0
 	BTFSC	PORTB_TMP,1
 	GOTO	PONT1
 	BTFSC	PORTB_TMP,2
 	GOTO	PONT2
 	BTFSC	PORTB_TMP,3
 	GOTO	PONT3
 	BTFSC	PORTB_TMP,4
 	GOTO	PONT4
 	BTFSC	PORTB_TMP,5 
 	GOTO	PONT5
 	BTFSC	PORTB_TMP,6 
 	GOTO	PONT6
 	BTFSC	PORTB_TMP,7 
 	GOTO	PONT7
 	BTFSC	PORTC_TMP,0 
 	GOTO	PONT8
 	BTFSC	PORTC_TMP,1 
 	GOTO	PONT9
 	BTFSC	PORTC_TMP,2 
 	GOTO	PONT10
 	BTFSC	PORTC_TMP,3 
 	GOTO	PONT11
 	BTFSC	PORTC_TMP,4 
 	GOTO	PONT12
 	BTFSC	PORTC_TMP,5  
 	GOTO	PONT13
 	BTFSC	PORTC_TMP,6 
 	GOTO	PONT14
 	BTFSC	PORTC_TMP,7 
 	GOTO	PONT15

PONT0							;bináris kód előállítása
	MOVLW	D'0'
	GOTO	PORTA_RA_IR
PONT1
	MOVLW	D'1'
	GOTO	PORTA_RA_IR
PONT2
	MOVLW	D'2'
	GOTO	PORTA_RA_IR
PONT3
	MOVLW	D'3'
	GOTO	PORTA_RA_IR
PONT4
	MOVLW	D'4'
	GOTO	PORTA_RA_IR
PONT5
	MOVLW	D'5'
	GOTO	PORTA_RA_IR
PONT6
	MOVLW	D'6'
	GOTO	PORTA_RA_IR
PONT7
	MOVLW	D'7'
	GOTO	PORTA_RA_IR
PONT8
	MOVLW	D'8'
	GOTO	PORTA_RA_IR
PONT9
	MOVLW	D'9'
	GOTO	PORTA_RA_IR
PONT10
	MOVLW	D'10'
	GOTO	PORTA_RA_IR
PONT11
	MOVLW	D'11'
	GOTO	PORTA_RA_IR
PONT12
	MOVLW	D'12'
	GOTO	PORTA_RA_IR
PONT13
	MOVLW	D'13'
	GOTO	PORTA_RA_IR
PONT14
	MOVLW	D'14'
	GOTO	PORTA_RA_IR
PONT15
	MOVLW	D'15'
	GOTO	PORTA_RA_IR

PORTA_RA_IR						;bináris kód kiírása
 	MOVWF	PORTA
 	GOTO 	PROGRAM
 END