;*********************************** ; ; 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