Assembly Language

Home > Computer Science > Computer Architecture > Assembly Language

A low-level programming language used to write programs to be executed directly by the computer's CPU.

Computer Organization: Computer organization is the study of how computers are organized, from a functional and logical perspective.
Data Representation: Data representation is the study of how data is stored and manipulated in a computer.
Machine Language: Machine language is the set of instructions that a computer can execute directly.
Registers and Memory: Registers are small, high-speed storage locations within the CPU that store temporary data. Memory is a larger, slower type of storage that holds data and programs.
Instruction Set Architecture: ISA is the interface between the software and hardware of a computer. It describes the set of instructions that a processor can execute.
Assembly Language: Assembly language is a low-level programming language that is used to write programs that can be executed directly by a computer's CPU.
Debugging Techniques: Debugging is the process of identifying and fixing errors in software.
CPU Architecture: CPU architecture is the organization and design of the CPU, including the instruction set, execution resources, and memory hierarchy.
Operating System Concepts: An operating system is a software layer that manages the hardware and software resources of a computer system.
Performance Optimization: Performance optimization is the process of improving a program's performance by optimizing its algorithms, data structures, and execution flow.
Interrupts and Exceptions: Interrupts and exceptions are events that can alter the normal flow of a program's execution.
Parallel Processing: Parallel processing is the use of multiple processors or execution cores to perform tasks simultaneously.
Computer Networks: Computer networks are a collection of interconnected computers that can communicate with each other.
Input/Output Operations: Input/output operations are the process of transferring data between a computer's CPU and external devices.
Microcontrollers: Microcontrollers are small, specialized computing devices that are used for specific applications.
x86 Assembly Language: It is a popular and widely used assembly language used in personal computers, laptops, and servers.
ARM Assembly Language: ARM-based processors power most of the modern embedded systems, smartphones, tablets, and IoT devices.
MIPS Assembly Language: MIPS architecture is common in embedded systems, such as routers, printers, and digital cameras.
Power Architecture Assembly Language: Developed by IBM for their PowerPC processor, it is used in high-end servers and workstations.
SPARC Assembly Language: Developed by Sun Microsystems, it is used in their SPARC-based systems for high-performance computing.
Zilog Z80 Assembly Language: Z80 processors power early home computers such as the ZX Spectrum, and many arcade games.
Atmel AVR Assembly Language: Used in microcontrollers produced by Atmel, like the famous Arduino development board.
Motorola 68K Assembly Language: Popular in older Apple Macintosh computers and Sega game consoles.
Intel 8051 Assembly Language: It is used in microcontrollers that power many modern embedded systems and IoT devices.
PIC Assembly Language: It is used in microcontrollers made by Microchip Technology and is commonly used in automation and control systems.
TI MSP430 Assembly Language: It is used in microcontrollers manufactured by Texas Instruments and is popular in smart-grid and Internet of Things (IoT) applications.
System z Assembler Language: IBM's mainframe assembly language for their System z processors used in large enterprises.
PDP-11 Assembly Language: Used in the DEC PDP-11 minicomputer, which was highly popular in the 1970s and 1980s.
DEC Alpha Assembly Language: Developed by Digital Equipment Corporation for their Alpha processors, which were used in high-end servers and workstations.
HP-UX Assembly Language: Assembly language used in Hewlett-Packard's Unix Operating System.
VAX Assembly Language: VAX assembly language was used in Digital Equipment Corporation's VAX computers, which were popular in the 1980s and early 1990s.
- "Assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence between the instructions in the language and the architecture's machine code instructions."
- "Assembly code is converted into executable machine code by a utility program referred to as an assembler."
- "The term 'assembler' is generally attributed to Wilkes, Wheeler and Gill in their 1951 book The Preparation of Programs for an Electronic Digital Computer."
- "The conversion process is referred to as assembly, as in assembling the source code."
- "The computational step when an assembler is processing a program is called assembly time."
- "Because assembly depends on the machine code instructions, each assembly language is specific to a particular computer architecture."
- "Sometimes there is more than one assembler for the same architecture."
- "Most assembly languages can be used universally with any operating system, as the language provides access to all the real capabilities of the processor."
- "In contrast to assembly languages, most high-level programming languages are generally portable across multiple architectures but require interpreting or compiling, much more complicated tasks than assembling."
- "In the first decades of computing, it was commonplace for both systems programming and application programming to take place entirely in assembly language."
- "Most observers credit that development with at least a factor of five in productivity, and with concomitant gains in reliability, simplicity, and comprehensibility."
- "Today, it is typical to use small amounts of assembly language code within larger systems implemented in a higher-level language, for performance reasons or to interact directly with hardware in ways unsupported by the higher-level language."
- "Just under 2% of version 4.9 of the Linux kernel source code is written in assembly."
- "More than 97% is written in C."
- "Constants, comments, assembler directives, symbolic labels of, e.g., memory locations, registers, and macros are generally also supported."
- "The first assembly code in which a language is used to represent machine code instructions is found in Kathleen and Andrew Donald Booth's 1947 work, Coding for A.R.C.."
- "The majority of programming is now conducted in higher-level interpreted and compiled languages."
- "Surely the most powerful stroke for software productivity, reliability, and simplicity has been the progressive use of high-level languages for programming."
- "Most observers credit that development with at least a factor of five in productivity."
- "For instance, just under 2% of version 4.9 of the Linux kernel source code is written in assembly; more than 97% is written in C."