Programming from the Ground Up

Jonathan Bartlett
Edited by Dominick Bruno, Jr.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in Appendix H. In addition, you are granted full rights to use the code examples for any purpose without even having to credit the authors.

To receive a copy of this book in electronic form, please visit the website This site contains the instructions for downloading a transparent copy of this book as defined by the GNU Free Documentation License.

All trademarks are property of their respective owners.

ISBN 0-9752838-4-7

Published by Bartlett Publishing in Broken Arrow, Oklahom

Library of Congress Control Number: 2004091465

Bartlett Publishing Cataloging-in-Publication Data

Bartlett, Jonathan, 1977-
Programming from the ground up / Jonathan Bartlett ; edited by Dominick
p. cm.
Includes index.

ISBN 0-9752838-4-7

1. Linux. 2. Operating systems (Computers) 3. Computer programming. I. Bruno, Dominick. II. Title.

QA76.76.O63 2004

005.268—dc22 2004091465

This book can be purchased at

This book is not a reference book, it is an introductory book. It is therefore not suitable by itself to learn how to professionally program in x86 assembly language, as some details have been left out to make the learning process smoother. The point of the book is to help the student understand how assembly language and computer programming works, not to be a reference to the subject. Reference information about a particular processor can be obtained by contacting the company which makes it.