Hi,
It makes a change to see someone moving from C to Assembler - will try and help make things clearer.
First the 16F84 /A chip used in so many web based projects is almost obselete, so whenever possible try and use a 16F628A or 16F88 which should run the same code with only the smallest of changes which the complier should soon point out to you.
The use of different Radix is common in assembler, you wil find Hex, Decimal and Binary often used in the same piece of code.
Look in a book or on the web for a table showing the values in Hec, Binary, Decimal and also Ascii - it a list worth printing out as is the pic16 assembler instruction list found towards the end of the chips datasheet.
Often the opening lines of the code will specify Radix = Decimal so the system automatically assumes any value is decimal, unless its specified as hex or binary
Binary is frequently used when setting up the i/o Ports , each bit representing each of the 8 port lines, so its easy to see how you are controlling them - however you can equally use hex if you want.
The delay at the end is a common problem for first timers.
The frequency of the oscillator, in this case a R/C set up, is divided by 4 to give the system clock speed, so if it was a 4mhz R/c the system clock is 4mhz /4 = 1 mhz
Most assembler instructions take 1 system clock cycle to execute, so to create a little delay we exectute loop that decrements a counter on each pass, when it reaches 00 it ends and a delay has occured - though it is quite short.
I will let you work the exact time out, but say each loop is 6 instructions, and it decrements the counter variable 255 times before it reaches 00 again.
If you run two or more nested loops then it possible to build up larger delays -all dependant on the system clock speed and the number of delay loops.
You can spent time working out you own delays but most use the ready made delay loop calculators found on the web.
Hope that clear..