.def score =r0 ;player $ left .def savSREG =r1 ;save the status register .def key =r2 ;holds raw button press value .def comp =r3 ;for binary to ascii conversion .def RNG =r4 ;RNG register ;SEE BELOW FOR MORE .def finalP =r24 ;final point value (w/ aces) of player .def acenumP =r10 ;number of aces of player .def acevalue =r11 ;point value of aces (selected between A and B) .def acenumD =r12 ;number of aces of dealer .def finalD =r26 ;final point value (w/ aces) of dealer .def cardval =r14 ;value of currently selected card .def temp =r16 ;temporary register .def state =r17 ;state register .def aceA =r18 ;acevalue A .def butnum =r19 ;final press value .def count =r20 ;counter for writing unshuffled deck (AKA card #)(???) .def count2 =r21 ;second register for unshuffled deck .def temp2 =r22 ;second temp reg .def aceB =r23 ;acevalue B .def totalP =r9 ;current pt value (no aces) of player .def totalD =r13 ;"" of dealer .def statusbj =r27 ;side0---who1---blackjack2---playerbusted3---dlrbusted4 ;---playerwins5---even6 ;who: 0 = dealer, 1 = player .def dlrfrstc =r28 ;dealer's first card .def cardsP =r8 ; .def cardsD =r15 ; .def tempmo =r29 ; ;LCD REGISTERS .def wreg =R25 ;temp register for interrupts .def timeout =R5 ;Timeout value passed to subroutine .def lcdstat =R6 ;LCD busy/wait status .def longtime=R7 ;Long timer for powerup ;***** Other equates .equ lcdrs =Pc6 ;LCD rs pin connected to Pc6 .equ lcdrw =Pc5 ;LCD r/w pin connected to Pc5 .equ lcde =Pc4 ;LCD enable pin connected to Pc4 ; Timer/Counter prescaler values .equ TSTOP =0 ;Stop Timer/Counter .equ TCK1 =1 ;Timer/Counter runs from CK / 1 .equ TCK256 =4 ;Timer/Counter runs from CK / 256 .equ TCK1024 =5 ;Timer/Counter runs from CK / 1024 .equ PreScal1=0x41 ;Timer 1 w/prescale=1 w/rising edge (from anacomp) .equ negzero =0xd0 ;2's complement of 0x30 (ascii 0) for subi .equ azero ='0' ;0x30 ascii '0' .equ aone ='1' ;0x31 ascii '1' .equ aspace =' ' ;0x20 ascii ' ' .equ aA ='A' ;0x41 ascii 'A' .equ aJ ='J' ;0x4a ascii 'J' .equ aK ='K' ;0x4b ascii 'K' .equ aQ ='Q' ;0x51 ascii 'Q' .equ shuffling =1 ;State labels .equ dealing =2 ; .equ hitstay =3 ; .equ hit =4 ; .equ stay =5 ; .equ winner =6 ; .equ mopup =7 ;