You can get the detailed answer on P29-31 ,Problem_Solving & program_design_in_c.
First the source files must be pre-processed. This handles all the precompiler directives (such as #include which pulls in headers) and macro definitions (such as #define statements which perform text replacements). This creates intermediate files known as translation units, which are then passed to the compiler. Each translation unit is compiled into machine code to create an object file. Finally, all the object files are linked together along with any precompiled static library functions to create the executable.
There are three stages to the translation process: preprocessing; compiling and linking
With a compiler, which is a program that "knows" how to transform the programming language logic in to machine code and make it perform from that.
The JIT (Just In Time) compiler takes the semi-compiled "byte-code" of a language (notably Java), and converts it into proper machine code before execution. This delays the startup time, but provides better execution time.
Microprocessors work in microcode, not assembly language. Microcode processes machine instructions, which are often assembled from assembler languages; higher level languages often convert each line of code into multiple lines of assembler language before their ultimate compilation into an executable. The assembler language contains mnomonics that are used to translate each line of source code into a machine instruction. When those machine instructions are loaded in memory, the CPU will use microcode to interpret and execute those instructions. Barring some experimental CPUs that use non-traditional machine code (such as Sun's Java CPU), all production-class CPUs use machine instructions as their basis for software execution.
A computer does not execute a program in a high level language. A computer executes a program in machine language. The high level language is converted into machine language by a compiler. Alternatively, an interpreter executes on the computer in machine language and the interpreter executes the high level language.
Machine language is a first generation language.
With a compiler, which is a program that "knows" how to transform the programming language logic in to machine code and make it perform from that.
Microcode allows for easier implementation of complex instructions but can introduce additional overhead. Machine language directly corresponds to the hardware for faster execution but is more challenging to program and understand.
Merits: Machine language allows for direct communication with the computer hardware, resulting in very fast and efficient execution of instructions. It is also not dependent on any translator programs for execution. Demerits: Writing programs directly in machine language is very complex and error-prone, making it difficult for programmers to work with. It is also platform-dependent, meaning programs may need to be rewritten for different hardware architectures.
The three main types of language translators are compilers, interpreters, and assemblers. Compilers translate the entire source code into machine code before execution, interpreters execute code line by line, and assemblers translate assembly language code into machine code.
"Assembly language" is essentially a direct translation from machine language. But yes it is a low level language It is one level above pure machine code. In 1967 I first learned to program in machine code and then stepped up to the next level of assembler on an Elliott Brothers 803c computer. The previous answer has the direction wrong! Assembly is translated into machine code which is then loaded into the computer's memory in binary ready for execution.
The JIT (Just In Time) compiler takes the semi-compiled "byte-code" of a language (notably Java), and converts it into proper machine code before execution. This delays the startup time, but provides better execution time.
Microprocessors work in microcode, not assembly language. Microcode processes machine instructions, which are often assembled from assembler languages; higher level languages often convert each line of code into multiple lines of assembler language before their ultimate compilation into an executable. The assembler language contains mnomonics that are used to translate each line of source code into a machine instruction. When those machine instructions are loaded in memory, the CPU will use microcode to interpret and execute those instructions. Barring some experimental CPUs that use non-traditional machine code (such as Sun's Java CPU), all production-class CPUs use machine instructions as their basis for software execution.
what are the features of machine language?
A computer does not execute a program in a high level language. A computer executes a program in machine language. The high level language is converted into machine language by a compiler. Alternatively, an interpreter executes on the computer in machine language and the interpreter executes the high level language.
No. Its the other way around. An execution cycle contains 4 or more machine cycles. Always.
Machine language, also known as low-level language, is the most basic programming language that is directly understood by a computer's central processing unit (CPU). The main advantage of machine language is that it allows for precise control over the computer's hardware, resulting in fast and efficient execution of instructions. However, machine language is extremely difficult for humans to read and write, making it prone to errors and challenging to debug. Additionally, machine language is specific to the type of computer architecture, making programs written in machine language non-portable across different systems.
Machine language is a first generation language.