Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a programming language "below" Assembly? [closed]

People also ask

Is there any alternative to assembly language?

The c language fills the gap between traditional high-level languages and assembly languages, and in different ways it will increase the scope of both discip- lines.

What are the 3 levels of programming languages?

There are three main kinds of programming language: Machine language. Assembly language. High-level language.

Are all programming languages based on assembly?

That being said, no, not all programs are turned into assembly language. If we exclude just-in-time compilation, interpreted languages liked ruby, lisp, and python, as well as programs that run on a virtual machine (VM) like java and c# are not turned into assembly.

Is assembly lower than C?

C is just a step up from assembly language, which is practically a human translation of machine code. It doesn't get any lower than machine code, but people don't read hexadecimal very well, so assembly is considered the lowest level programming language.


Actually there's a level of code that sits below machine code, called Microcode.


Machine code. Time it was programmers coded in the 1 and 0's of binary. Hex was considered an advance over this. That was before assembly, which uses the code's names and separates the parts of an instruction into its parts.


Assembly is a text representation of Machine code. It has a single statement which represents a single instruction within the CPU itself. "MOV X, Y" for example, is a single instruction which passes through the CPU and moves a value X into position Y. To get to machine code, the CPU will have a number that represents 'MOV', and a number that represents 'X' (if it's not already a number), and a number that represents Y. These raw HEX binary values are the Machine code. It's the numbers that cause the CPU to direct voltages / currents through the transistors to make it do what it does.

Machine code is a lower level, but it's very very close to assembly. It's so close, that no one bothers using it due to the advantages of being able to read the instruction "MOV" = move. Variable names also become readable rather than raw addresses in the stack or heap.


And to go even lower, (not that the word "language" is appropriate for "machine" language or for even lower physical layers), but below machine language is the configuration of the many gates and switches used to actually implement each binary opcode for the particular hardware (CPU) involved... A great book to read that covers this even lower level is by Charles Petzold, called "CODE"


If by below, you mean lower level, then yes. There is machine language. Assembly is turned into machine language before it is run. On many modern processes the machine language is emulated in microcode. See this for more details on microcode.


Machine Code

http://en.wikipedia.org/wiki/Low-level_programming_language


I think the lowest you can get is something called Physics or TRW (The Real World). This is what chip designers and manufacturers use to create CPUs and other processors that can take the output of computer languages and turn them into something valuable.