electronics_kumar,
A two-pass assembler takes two top-to-bottom scans of the source code. Typically on the first scan, it will do such things as assign addresses to variables, expand macros, etc. On the 2nd pass it generates the object code, and (optionally) creates a listing.
~
A one-pass assembler does everything with one scan of the source.
~
A cross asssembler is an an assembler that runs on a machine that is different from the target machine on which the code will be executed. For example a cross assembler might run on a PC, but generate code that will be executed on a DSP.
Regards,
Kral