> Is it possible to define two nybble variables for the same 8 bit > register. I am using a 16F84A Hi, I don't think so. It's the kind of thing that would useful when addressing port nybbles, and I don't recall ever seeing that. But maybe I was away that day and there is another, simpler, way. What's below could be completely OTT Perhaps break it down into macros. That way you'd need to do the hard work just the once. (And the macro defines both the variable and what you want to do to it) Have 3 variables altogether. dg1, dg2 (that hold the numbers as the low nybbles) and dg3, (which is a composite, if necessary) For example, increment the high nybble i_upper macro ;increment upper nybble of dg3 incf dg1 ;inc the number which forms the upper nybble of dg3 ;***** your limit test here ***** to keep number within bounds movlw b'00001111' ;clear upper nybble andwf dg1 swapf dg1,w ;make it the high nybble in W addwf dg2,w ;add to what will be the low nybble of dg3 movwf dg3 ;make new value for dg3 endm Similarly for d_upper, i_lower, and d_lower. You may be able to shave a cycle or two from the macros by trying different instructions Now when you want to eg increment the number in the lower nybble, you'd simply type i_lower and dg3's lower nybble will increment within your limits Hope that helps -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics