;***********************************
;
; Definitions for the Programmable PLL
; software
;
;***********************************

.def    BCDLSB		=r25	; Least sig byte of BCD data 2 digits
.def    BCD2SB		=r24
.def    BCDMSB		=r23	; Most sig byte 2 digits        
.equ    AtBCDMSB 	=23     ;address (pointer)of BCDMSB
.equ    AtBCDLSB 	=25     ;address of BCDLSB
.def    cnt16a  	=r20    ;loop counter
.def    count_LSB	=r25    ; Least sig byte of the binary count
.def    count_2SB	=r24    ; middle byte
.def    count_MSB	=r23    ; Most sig byte
.def    delay    	=r16    ;temporary register
.def    delay1   	=r17
.def    delay2  	=r18    ;temporary register
.def	delay3		=r19
.def	divideMSBTX	=r28	; Main divider data
.equ	AtdivideMSBTX	=28	; Address	
.def	divideLSBTX	=r29	; for PLL TX
.equ	AtdivideLSBTX	=29	; Address
.def	loop_counter	=r26
.equ	memory		=3	; Memory key in port D
.equ	mode		=2	; Mode key in port D
.equ    OE		=8	; bit 3 port B display enable
.def	offset_count	=r28
.def	offsetMSB	=r25
.def	offsetLSB	=r26
.equ	AtoffsetMSB	=25
.equ	pll_clock	=0	; PLL clock bit in port B
.equ	pll_enable	=1	; PLL enable (low to write data)
.equ	pll_data	=7	; PLL data
.def	ppll_flags	=r27	; Various flags
				; Bits 5-7 current memory location
				; Bit 4 TX_RX status
				; Bits 3,2 Offset mode I1-3
				; Bits 1,0 Mode bits 
.equ	Atppll_flags	=27	; Address of flags
.equ    RS		=4	; bit 2 in port B display register select
.def    temp    	=r16    ;temporary register
.def    temp_1  	=r17
.def    temp_2 		=r18    ;temporary register
.def	temp_3		=r19
.def	temp_4		=r20
.def    temp_LSB	=r18    ; Least sig byte of temp data 
.def    temp_2SB	=r17
.def    temp_MSB	=r16
.def	tmp16a		=r19
.equ	TX_RX		=4	; Transmit/receive bit in ppll_flags
;***********
; definitions for BCD2BIN
;*******************
.def	copyL	=r18		;temporary register
.def	copy2	=r17
.def	copyH	=r16		;temporary register
.def	mp10L	=r21		:Low byte of number to be multiplied by 10
.def	mp102	=r20
.def	mp10H	=r19		;High byte of number to be multiplied by 10
.equ	Atmp10H	=19		;address of BCD2BIN registers
.equ	Atmp102	=20
.def	adder	=r22		;value to add after multiplication	
;***** Subroutine Register Variables
; for 16 by 16 multiplication
;********************************
.def	mc16uL	=r16		;multiplicand low byte
.def	mc16uH	=r17		;multiplicand high byte
.def	mp16uL	=r18		;multiplier low byte
.equ	Atmp16uL=18		; Addres
.def	mp16uH	=r19		;multiplier high byte
.equ	Atmp16uH=19		; Address
.def	m16u0	=r18		;result byte 0 (LSB)
.def	m16u1	=r19		;result byte 1
.def	m16u2	=r20		;result byte 2
.def	m16u3	=r21		;result byte 3 (MSB)
.def	mcnt16u	=r22		;loop counter