Assembly Language / Machine Code / High-Level Programming

 Assembly Language

·       An assembly language is a low-level programming language designed for a specific type of processor.

·       It may be produced by compiling source code from a high-level programming language (such as C/C++) but can also be written from scratch.

·       Assembly code can be converted to machine code using an assembler.



·       Since most compilers convert source code directly to machine code, software developers often create programs without using assembly language.

·       In some cases, assembly code can be used to fine-tune a program. For example, a programmer may write a specific process in assembly language to make sure it functions as efficiently as possible.


Machine Code

·       machine language, the numeric codes for the operations that a particular computer can execute directly.

·       The codes are strings of 0s and 1s, or binary digits (“bits”), which are frequently converted both from and to hexadecimal (base 16) for human viewing and modification.

·       Machine language instructions typically use some bits to represent operations, such as addition, and some to represent operands, or perhaps the location of the next instruction.

·       Machine language is difficult to read and write, since it does not resemble conventional mathematical notation or human language, and its codes vary from computer to computer.

·       Assembly language is one level above machine language. It uses short mnemonic codes for instructions and allows the programmer to introduce names for blocks of memory that hold data.

·       One might thus write “add pay, total” instead of “0110101100101000” for an instruction that adds two numbers.


 

High-Level Programming

·       A high-level language is any programming language that enables the development of a program in a much more user-friendly programming context and is generally independent of the computer's hardware architecture.

·       A high-level language has a higher level of abstraction from the computer and focuses more on the programming logic rather than the underlying hardware components such as memory addressing and register utilization.

·       High-level languages are designed to be used by the human operator or the programmer.

·       They are referred to as "closer to humans." In other words, their programming style and context is easier to learn and implement than low-level languages, and the entire code generally focuses on the specific program to be created.

·       A high-level language does not require addressing hardware constraints when developing a program.

·       Every single program written in a high-level language must be interpreted into machine language before being executed by the computer.

·       BASIC, C/C++, and Java are popular examples of high-level languages.




Comments