Assembly language is a programming language that communicates directly to the computer hardware. High level programming languages have a one-much instruction relationship with assembly language. This means one instruction may expand into several machine or assembly instructions. Machine language deals with programming of microprocessors that are compatible with Intel IA-32 and AMD×86 processors that operate using Microsoft Windows. There has been a development in the processors from the Intel Pentiums through to the AMDs (Advanced Micro Devices).
Assembly languages such as Microsoft Macro Assembler (MASM) and Turbo Assembler (TASM) are used for programming. An assembler converts source code programs from assembly to machine language. Assembly language utilizes a linker, which is a program that combines individual files created by the assembler into an executable program. Assembly language, runs on specific processors only and is, therefore, not portable.
Assembly language utilizes registers and computer memories. Boolean operations come into play through Boolean operators such as NOT, AND, and OR. Truth tables are used to show the input-output relationship of a Boolean function. A machine instruction constitutes a sequence of individual operations or instruction execution cycles. Primarily, these are fetching, decoding, and execution.
The architecture of the ×86 processor family and how it interacts with the computer system is an important consideration. The ×86 processor can operate in three modes: protected mode, real-address mode and system management mode. Intel64 processors, on the other hand, use the compatibility and 64-bit mode of operation. There are several types of registers with different function in the CPU. Flags are used to control operation of the CPU and reflect the outcomes of the ALU operations (Duntemann, 1992).
Assembly language is useful in simulations and creation of computer game graphics. Assembly language permits for these game programmers to have direct access to the computer hardware. Even with the emergence of high level languages assembly language still has niches where it most suitable. Assembly language was used in most application such as IBM mainframe software. However, new languages such as COBOL and FORTRAN have come to replace assembly languages.
References
Duntemann, J. (1992). Assembly Language: Step by Step. New York. John Wiley & Sons.
Retrieved from
http://faculty.petra.ac.id/indi/files/Assembly%20Language%20step%20by%20step.pdf