PC Assembly Language

Peter Kitson

ISBN : -

Order a printed copy of this book from Amazon --UNAVAILABLE--


Cover Design - PC Assembly Language
 

For your free electronic copy of this book please verify the numbers below. 

(We need to do this to make sure you're a person and not a malicious script)

Numbers

 




Sample Chapter From PC Assembly Language
     Copyright © Dr. Paul A. Carter



Purpose

The purpose of this book is to give the reader a better understanding of
how computers really work at a lower level than in programming languages
like Pascal. By gaining a deeper understanding of how computers work, the
reader can often be much more productive developing software in higher level
languages such as C and C++. Learning to program in assembly language
is an excellent way to achieve this goal. Other PC assembly language books
still teach how to program the 8086 processor that the original PC used in
1981! The 8086 processor only supported real mode. In this mode, any
program may address any memory or device in the computer. This mode is
not suitable for a secure, multitasking operating system. This book instead
discusses how to program the 80386 and later processors in protected mode
(the mode that Windows and Linux runs in). This mode supports the
features that modern operating systems expect, such as virtual memory and
memory protection. There are several reasons to use protected mode:
  • 1. It is easier to program in protected mode than in the 8086 real mode
  • that other books use.
  • 2. All modern PC operating systems run in protected mode.
  • 3. There is free software available that runs in this mode.
The lack of textbooks for protected mode PC assembly programming is the
main reason that the author wrote this book.

As alluded to above, this text makes use of Free/Open Source software:
namely, the NASM assembler and the DJGPP C/C++ compiler. Both
of these are available to download from the Internet. The text also discusses
how to use NASM assembly code under the Linux operating system
and with Borland’s and Microsoft’s C/C++ compilers under Windows.
Examples for all of these platforms can be found on my web site:
http://www.drpaulcarter.com/pcasm. You must download the example
code if you wish to assemble and run many of the examples in this tutorial.