answersLogoWhite

0

Assembly programming is low-level programming and is machine-dependant. Assembly language makes it easier for programmers to write machine-specific code. While this gives the programmer a high-degree of control over the resultant machine code, programs have to be written in minute detail at the machine level. Assemblers perform a 1:1 translation from the source code and are therefore extremely simple programs. However, assembly language is non-portable. Each machine architecture has its own specific machine code so the assembly code specific to one machine architecture cannot be assembled upon a different architecture.

Compiled-language programming is high-level programming. By high-level we mean there is high degree of abstraction between the code you write and the machine code produced by the compiler. Compiled-languages are generally portable. That is, the same source code can be compiled on any machine that has a suitable compiler, where the compiler itself is machine-dependant, but the source code is not.

While assembly programming requires programs be written in minute detail at the machine level, compiled-language programming is more abstract. A single high-level statement can easily produce hundreds of individual machine-code instructions. While the high-level programmer has much less control over the resultant machine code, compilers also incorporate code optimisers that can analyse the source code to produce the most efficient machine code -- often surpassing anything that an assembly programmer can produce by hand. Ultimately, compilers allow programmers to produce more machine code much more quickly and with more accuracy (fewer errors), and typically with greater efficiency.

Even so, there are still some things that can only be achieved with assembly. For instance, a compiler's optimisers might "over think" a problem and produce less-than-optimal machine code for a specific routine. In these cases, the high-level programmer can simply insert inline assembly instructions where required. Alternatively, the compiler can be used to emit assembly instructions rather than machine code, and that assembly code can then be tweaked where required.

User Avatar

Wiki User

10y ago

What else can I help you with?

Related Questions

How come most assembly compilers are written in c?

Most programs are written in C, Assemblers and compilers included.


List the objective questions about compilers and assemblers BA 0016 in September 2008?

thanks


What are the component of system programming?

various components of system programming are: - Assemblers - Interpreters - Compilers - Loaders - Macros


What are three main types of language translators?

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.


Why does assembler takes less time than compiler?

They cannot be compared fairly, because their input is incompatible. You can compare two Assemblers, or two C-compilers, if you want.


What is system software?

Systems software is a any program that lets you interact with the kernel (the one that talks with hardware ) to perform useful tasks. Examples include text editors, compilers, assemblers, operating systems.


Is system software?

Systems software is a any program that lets you interact with the kernel (the one that talks with hardware ) to perform useful tasks. Examples include text editors, compilers, assemblers, operating systems.


What system software?

Systems software is a any program that lets you interact with the kernel (the one that talks with hardware ) to perform useful tasks. Examples include text editors, compilers, assemblers, operating systems.


What is the difference between assemblers interpreters and compilers?

Assemblers convert Assembly code to machine code Interpreters convert high level code to real-time machine code and store it in the memory for direct execution Compilers convert high level code to real-time machine code or some intermediate code and store it in a file for later execution Assemblers use the basic building blocks of the command processor code to write programs and is the language closest to the binary on which all computers operate, although it is difficult to use it does work well for things like networking and communication protocols. Interpreters are just what they say, they translate the code in real time as you operate the program, then process it, and are therefore the slowest. Compilers translate the code into a format the computer understands prior to the execution (or distribution) of the code and is therefore the easiest to use as it combines the better attributes of both programming methods into one easy to use package.


When was Assemblers of Infinity created?

Assemblers of Infinity was created in 1993.


Differentiate between general and specific reserve?

differentiate between general and specific reserve?


Can you give some example sentences using the word 'differentiate'?

It's important to differentiate between right and wrong. She could not differentiate between the two identical twins. The new software features were designed to help differentiate their product from competitors. The expert could easily differentiate authentic artwork from fakes.