Hardware Reference
In-Depth Information
C
ASSEMBLY LANGUAGE
PROGRAMMING
Evert Wattel
Vrije Universiteit
Amsterdam, The Netherlands
Every computer has an ISA ( Instruction Set Architecture ), which is a set of
registers, instructions, and other features visible to its low-level programmers.
This ISA is commonly referred to as machine language , although the term is not
entirely accurate. A program at this level of abstraction is a long list of binary
numbers, one per instruction, telling which instructions to execute and what their
operands are. Programming with binary numbers is very difficult to do, so all
machines have an assembly language , a symbolic representation of the instruction
set architecture, with symbolic names like ADD , SUB , and MUL , instead of binary
numbers. This appendix is a tutorial on assembly language programming for one
specific machine, the Intel 8088, which was used in the original IBM PC and was
the base from which the modern Core i7 grew. The appendix also covers the use of
some tools that can be downloaded to help learn about assembly language pro-
gramming.
The purpose of this appendix is not to turn out polished assembly language
programmers, but to help the reader learn about computer architecture through
hands-on experience.
For this reason, a simple machine—the Intel 8088— has
691
 
 
Search WWH ::




Custom Search