Operating Systems

What is difference between machine language and assembly language?


Top Answer
User Avatar
Wiki User
2010-02-07 13:29:38
2010-02-07 13:29:38

Machine language is the actual bits used to control the processor in the computer, usually viewed as a sequence of hexadecimal numbers (typically bytes). The processor reads these bits in from program memory, and the bits represent "instructions" as to what to do next.

Thus machine language provides a way of entering instructions into a computer (whether through switches, punched tape, or a binary file).

Assembly language is a more human readable view of machine language. Instead of representing the machine language as numbers, the instructions and registers are given names (typically abbreviated words, or mnemonics, eg ld means "load"). Unlike a high level language, assembler is very close to the machine language. The main abstractions (apart from the mnemonics) are the use of labels instead of fixed memory addresses, and comments.

An assembly language program (ie a text file) is translated to machine language by an assembler. A disassemblerperforms the reverse function (although the comments and the names of labels will have been discarded in the assembler process).

machine language faster than assembly language even than assembly language depend upon machine language


Related Questions

An assembler will translate assembly language into machine code.

There is very little difference, functionally, between assembly language and machine level language. Each assembly language statement corresponds to one machine instruction. The difference is in readability (who wants to read and write in hex code?) and in ease of address computation.

Assembly language and machine language are very similar, but assembly language is a more readable version of machine language. Assembly language uses mnemonic codes as opposed to numeric codes.

Assembly language is more human-readable than machine language. Generally, statements in assembly language are written using short codes for the instruction and arguments, such as "MOV $12 SP", as opposed to machine language, where everything is written as numbers. Assembly language can have comments and macros as well, to ease programming and understanding. Generally, programs called "assemblers" transform assembly language to machine language. This is a relatively straightforward process, there being a clear 1-to-1 transformation between assembly and machine language. This is as opposed to compilers, which do a complicated transformation between high-level language and assembly. -------------------------------------------------------------------- ASSEMBLY is the key word to define the difference between Machine Language and Assembly. . Assembly language assembles steps of MACHINE CODE into SUB-ROUTINES defined by simple text words: Such as: the assembly command 'ADD' may represents 20-30 machine commands.

Assembly language is a readable way of representing machine language. It consists of mnemonics that can be directly converted to machine language. Assembly language allows easier jump instructions with the usage of labels which gets converted to real addresses after assembling.

Machine code is the bits and bytes that the processor executes while running its program. Assembly code is a low level symbolic representation of that machine code, making it easier to write.

The processor does not differentiate between an assembly language program, a machine language program, or even a high level program. As far as the processor is concerned, it only knows machine language. All assemblers, compilers, and linkers ultimately generate machine language.

Assembly langue is translated into machine language by an assembler.

an assembly language is a computer-oriented language with instruction that are in one-to-one correspondence with machine instruction. In assembly language a symbol is used for each machine instruction, which is subsequently translated into machine language.

An Assembler converts assembly language instructions into machine language.

Assembly language is converted directly into machine code, while C is compiled into "objects" before being linked into machine code. Each line of code in assembler represents exactly one machine code instruction, while a single line in C will virtually always represent many machine instructions.

it is the language between High language (ex: C , C# , C++ , Java) and machine language Machine Language ....> Assembly Language .....> High-Level Language (0 1) ( ADDF3 R1, R2, R3) (prinf("ethar");)

In machine language, each instruction is written in the form of long strings of 0s and 1s. An assembly language is machine dependent. The programmer must have the detailed knowledge of the setup of the computer he/she is using. The program written in assembly languages for one computer cannot be used in any other program.

I guess you're trying to refer to Assembly language.

Assembly language is low-level because it has the least amount of abstraction between the source and the resultant machine code. That is, the translation from assembly language to machine code is 1:1. All high-level languages have much higher degrees of abstraction.

Machine language is the native language of the machine, also known as machine code. Assembly language is language intended for humans to make writing machine code programs easier. Rather than binary code, assembly language uses short mnemonics to represent each machine instruction, with symbolic representations for the CPU registers. Memory addresses are represented in hexadecimal form, while numeric values can be encoded in a choice of hexadecimal, decimal, octal or binary. Assembly is a low-level language. A primitive machine code program known as an assembler is used to translate the assembly instructions into machine code. Although assembly languages make it easier to produce machine code programs, the source code is machine-dependant (non-portable), is difficult to both write and maintain, and code must be liberally commented to assist the reader (comments are ignored by the assembler). High-level languages allow programmers to write code with a much higher level of abstraction, using languages that are much closer to natural language and much less machine-dependant (portable).

No, they are not the same. Assembly language uses mnemonic words to REPRESENT machine language; to be able to actually run it, a special program - a so-called assembler - then needs to convert it into machine language.

A disassembler reverts the process of an assembler: while an assembler translates assembly language source code into machine code, a disassembler reads machine code and generates the corresponding assembly language source code. This is possible because assembly languages, unlike higher level languages, have a one-to-one relationship between assembly language instructions and machine code instructions. However, the disassembler's process is not perfect. Details such as names of functions and procedures, comments or visible grouping of code into distinct functions are generally lost.

assembly language uses abbreviation called menmonics.it is a bit easier to write computer programs in assembly language as compared to machine language but still requires skill and experienci.A program called assembler is used to convert an assembly language into machine language.

no, machine level language is binary language. Some code of binary language are grouped and represented by unique symbols. The coding in these symbols is known as assembly language.

The difference between high level languages and machine languages are as follows: 1)Machine language uses binary numbers/codes but high level languages(HLL) use key words similar to English and are easier to write. 2)Machine Language is a Low level language and is machine dependant while HLLs are not.

No. Assembly language is a low-level symbolic language that needs to be translated (assembled) to produce the machine code. The reverse of assembly is disassembly, where machine code is disassembled to produce code that is similar to assembly but has no symbolic names or comments. Disassembly is essentially a human-readable version of machine code whereas assembly is the code written by a human in order to produce the machine code, the only language the machine actually understands.

Assembler translates assembly language into machine language.Answered by-Rashmi Dahiya

Assembly language has only one role: to write machine-dependant code.

Copyright ยฉ 2020 Multiply Media, LLC. All Rights Reserved. The material on this site can not be reproduced, distributed, transmitted, cached or otherwise used, except with prior written permission of Multiply.