> I want to know about the code generation of OOP languages.>> How do OOP languages ,such as C++ & JAVA, translate> source code - with OO concept - into> binary or intermediate(like assembly) code - without OO concept ?>> Any useful references(book or website) about this topic?

No references, just a brief description. It really is pretty simple
(although it becomes complex when all the features of typical OOP
languages have to be taken into consideration). The key issue, IMHO,
is to think of it in plain C operations. Translating from C to
assembly is usually fairly straightforward.

First, think of a class as a C structure or Pascal record with
associated functions.

So:

class cFoo
{
public:
cFoo(void);
void Assign(int Value);

private:
int Number;};

cFoo::cFoo(void) :
Number(0)
{}

void cFoo::Assign(int Value)
{
Number = Value;}

Becomes:

typedef struct
{
int Number;} cFoo;

void cFooConstructor(cFoo *this)
{
this->Number = 0;}

void cFooAssign(cFoo *this, int Value)
{
this->Number = Value;}

Virtual methods are really just function pointers typically packaged
in a space-saving way. The function pointers are set up by the
constructor:

The code above hasn't been tested (compiled and executed), but it
should give you a good idea of how to get from C++ to C. Getting from
C to assembly is just a question of traditional compiler technology
and is described in lots of books.