**********
* Program BASE_3 (6811)
*
* Switches converted from BCD to natural binary and result displayed
* on LEDs.
*
* This is an alternative to the method illustrated in BASE_1
* 
* Note that the DAA does not work for subtraction.  A technique known as
* tens compliment addition is used.
*
* P. H. Anderson, MSU, 7 Oct 91; Jan 15, '93
**********

PSCT	EQU  $C000
DSCT	EQU  $D000

STACKTP 	EQU  $0045
REG_BASE	EQU  $1000

PORTB	EQU  $04
PORTC	EQU  $03
DDRC	EQU  $07

	ORG PSCT

	LDS #STACKTP
	LDY #REG_BASE
	CLR DDRC,Y	* port c configured as 8-bit input

TOP
	CLR BINARY	* zero the binary

	LDAA PORTC,Y	* get natural decimal quantity
	BEQ DONE	* if zero
	STAA DECIMAL

AGN
	INC BINARY
	LDAA DECIMAL	* subtract 1 in decimal manner
	ADDA #$99
	DAA
	STAA DECIMAL
	BNE AGN		* until zero
		
DONE
	LDAA BINARY
	STAA PORTB,Y	
	BRA TOP

	ORG DSCT

BINARY  RMB 1
DECIMAL	RMB 1


