answersLogoWhite

0

Machine language is the native language of the machine. Every machine type has its own version of machine code, determined by the processor architecture. As such, code for a particular architecture cannot execute on a machine with a different architecture; in other words, machine code is non-portable.

Assembly language is a human-readable version of machine code. Each instruction (or opcode) maps to an easy to remember mnemonic such as MOV (move), ADD (addition), SUB (subtract) and so on. In this way the programmer doesn't have to remember the binary value of each opcode. Binary values themselves, such as memory offsets, can also be encoded using more convenient notation such as hexadecimal while decimal values and character information can be entered as literals. Due to its low-level nature, assembly language source code needs to be heavily commented to assist the reader. In order to produce the required machine code, the assembly language source code must be converted to a machine code executable. This is achieved using a relatively simple program known as an assembler. However, as with machine code itself, assembly languages are machine-dependent and non-portable.

To create portable code, you need to use a high-level language that is suitable for cross-platform development. When we talk about low-level or high-level programming languages, we're really talking about the amount of abstraction between the human-readable source code and the resultant machine code. High level languages are highly abstract, such that a single high level statement may produce dozens of low-level machine instructions. When writing code in assembly, each instruction has to be written in painstaking detail by hand. Unlike assembly languages which must be assembled, high-level languages are either compiled or interpreted. A compiled language produces a standalone machine code executable (similar to that produced by an assembler) whereas interpreted languages require a runtime program to convert and execute high-level statements one statement at a time. Some languages, like Java, compile to byte code rather than machine code. The byte code then has to be interpreted to produce the machine code but the byte code is portable. Java uses the Java virtual machine to perform the interpretation.

With high-level languages like C++, it is rarely necessary to use anything less abstract because C++ language compilers are capable of producing highly optimised and more efficient machine code far more easily and more quickly than any human could. Unlike Java, which is only suitable for applications development, C++ can be used to write any type of software, including low-level software such as drivers and operating system kernels. Prior to C++, this type of software would have been written in assembly language and/or C language.

User Avatar

Wiki User

10y ago

What else can I help you with?

Continue Learning about Engineering

Is jne a symbol for an assembly language?

In some assembly languages this is a machine operator, jump if not equal. It is a symbolic equivalent of that machine code.It is more proper to say that 'jne' may be a symbolic machine code instruction in some assembly languages.


What are high level programming languages how they differ from assembly languages?

High-level languages are easy to read and write. They are not machine dependent and portable from one computer to another. Assembly languages are machine dependent, easier to read than machine code but it's still not easy to read, and the assembler program translates the assembler program straight into machine code.


Is the First Generation Language machine dependent?

Yes. Both first and second generation languages are machine-dependent. The first generation of languages were machine code, while the second were assembly languages. Non-machine dependency came about with the advent of the third-generation of languages, all the high-level languages.


Is the C language machine dependent or not?

Machine-dependent (generally called "platform-dependent")


What are example of second generation programming language?

Machine code is first generation. Low-level, machine-dependent, symbolic languages such as assembly language are second generation. All high-level, machine-independent languages are third generation. Fourth and fifth generation don't actually have any meaning since there is no "standard" to define these terms, although they are often used to classify specific types of third-generation languages.

Related Questions

what are Examples of machine languages?

Machine code, Assembly, Autocode


What is the level of assembly language?

Assembly languages are low level languages, sometimes also called machine-level languages.


Is jne a symbol for an assembly language?

In some assembly languages this is a machine operator, jump if not equal. It is a symbolic equivalent of that machine code.It is more proper to say that 'jne' may be a symbolic machine code instruction in some assembly languages.


What are high level programming languages how they differ from assembly languages?

High-level languages are easy to read and write. They are not machine dependent and portable from one computer to another. Assembly languages are machine dependent, easier to read than machine code but it's still not easy to read, and the assembler program translates the assembler program straight into machine code.


Is the First Generation Language machine dependent?

Yes. Both first and second generation languages are machine-dependent. The first generation of languages were machine code, while the second were assembly languages. Non-machine dependency came about with the advent of the third-generation of languages, all the high-level languages.


Is the C language machine dependent or not?

Machine-dependent (generally called "platform-dependent")


How Briefly explain differences between assembly machine languages?

difine essembly language


What are example of second generation programming language?

Machine code is first generation. Low-level, machine-dependent, symbolic languages such as assembly language are second generation. All high-level, machine-independent languages are third generation. Fourth and fifth generation don't actually have any meaning since there is no "standard" to define these terms, although they are often used to classify specific types of third-generation languages.


Are Second-generation languages are also known as assembly languages?

Yes, that is correct. Second-generation languages, also known as assembly languages, provide a low-level interface between software and hardware. They use mnemonic codes and symbolic names to represent machine code instructions, making programming closer to the hardware level compared to high-level languages.


What are assembly languages and how are they used in computer programming?

Assembly languages are low-level programming languages that use mnemonic codes to represent machine instructions. They are used in computer programming to directly communicate with the hardware of a computer, allowing programmers to write code that is more efficient and specific to the system's architecture.


What are computer language translators Define each?

computer language translators are programming tools that translate high level languages into the machine language. they include:1)assembler-translates assembly language into machine language. 2)compiler-translates the high level languages into the machine language.


Why machine assembly languages are called low level languages?

Machine Language is the lowest level language other than microcode as it is what the processor itself uses to handle operations. Assembly is low level as it is very close to machine language. Higher level languages have higher levels of abstraction and more structure to them, such as C++. Lower level languages are very operation based.