**********
* Program BASE_2 (6811)
*
* Switches converted from natural binary to BCD and saved
* in DECIMAL. No output on LEDs. Illustrates use of DAA.
*
* 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
CLR DECIMAL * zero the decimal counter
CLR DECIMAL+1
LDAA PORTC,Y * get natural binary quantity
BEQ DONE * if zero
STAA BINARY
AGN
LDAA DECIMAL+1 * add one in dec manner to low byte
ADDA #$01
DAA
STAA DECIMAL+1
LDAA DECIMAL * pick up any carry
ADCA #$00
DAA
STAA DECIMAL
DEC BINARY * dec binary counter
BNE AGN * repeat until counter at zero
DONE
SWI
ORG DSCT
BINARY RMB 1
DECIMAL RMB 2