05-03-2013, 12:35 PM
Introduction to Assembly Language Programming
Introduction to Assembly.pdf (Size: 107.78 KB / Downloads: 17)
Aim:
To study assembler, linker, masm, tasm and assembly language programming instructions of
8086 microprocessor
Objective:
To be familiar with the format of assembly language program structure and instructions.
Theory:
Assembly Language:
An assembly language is a low-level programming language for computers, microprocessors,
microcontrollers, and other integrated circuits. It implements a symbolic representation of the
binary machine codes and other constants needed to program a given CPU architecture. This
representation is usually defined by the hardware manufacturer, and is based on mnemonics
that symbolize processing steps (instructions), processor registers, memory locations, and other
language features. An assembly language is thus specific to certain physical (or virtual)
computer architecture.
Assembler:
It is a system program which converts the assembly language program instructions into
machine executable instructions. For example: Microsoft Macro Assembler (MASM), Borland
Turbo Assembler (TASM), Open Source Netwide Assembler (NASM) etc.
MASM
The Microsoft Macro Assembler (MASM) is an x86 assembler for MS-DOS and Microsoft
Windows. It supports a wide variety of macro facilities and structured programming idioms,
including high-level functions for looping and procedures. Later versions added the capability of
producing programs for Windows.
TASM
Turbo Assembler (TASM) is an x86 assembler package developed by Borland. It is used with
Borland's high-level language compilers, such as Turbo Pascal, Turbo Basic and Turbo C. The
Turbo Assembler package is bundled with the linker, Turbo Linker, and is interoperable with the
Turbo Debugger.
NASM
The Netwide Assembler (NASM) is an assembler and disassembler for the Intel x86 architecture.
It can be used to write 16-bit, 32-bit (IA-32) and 64-bit (x86-64) programs. NASM is considered
to be one of the most popular assemblers for Linux and is the second most popular assembler
overall, behind MASM.
NASM was originally written by Simon Tatham with assistance from Julian Hall, and is currently
maintained by a small team led by H. Peter Anvin.
DOS Debugger
“debug” is a command in DOS, MS-DOS, OS/2 and Microsoft Windows (only x86 versions) which
runs the program debug.exe (or DEBUG.COM in older versions of DOS). Debug can act as an
assembler, disassembler, or hex dump program allowing users to interactively examine
memory contents in assembly language, make changes, and selectively execute COM, EXE and
other file types.