This is a broad question.
In essence, compiled languages are translated into machine instructions (op codes) just like ASM (ASM is also an abstraction layer). A good compiler is likely to come out of the average result of an ASM encoder because it can examine a large patch of code and apply optimization rules that most programmers could not do manually (ordering instructions for optimal execution, etc.).
"". , . , , , . , , ( , , , ).
, , , , . , . , ( , ), , .
, ( P- ). , , ( - P- ). Java .