Gavin's Guide to 80x86 Assembly
Copyright (c) Gavin Estey, 1995, 1996. All rights reserved.
This was originally written for the Phil Inch's Game Developer's Magazine
and after getting lots of positive feedback I expanded and improved it.
I have spent a lot of time working on this and would appreciate
hearing from you if you like it.
Here is some of the feedback I have recieved.
If you want to contact me then e-mail me at:
or on CompuServe at 100767,1325
There are several resources that you may find useful.
- List of Instructions and timings
If you have TASM then the "Borland Turbo Assembler Quick
Reference" has a list of instructions and timings up to 486.
The "Intel Pentium Family User's Manual: Volume 3" is
- List of Interrupts
There are several books that have this information but the
most up to date is Ralf Brown's Interrupt list available freely
in four parts at:
where XX is the version (go there).
A book that covers both these topics and is a useful assembly
The Revolutionary Guide to Assembly Language
Vitaly Maljugin, Jacov Izrailevich et al
Table of Contents
Well that's it. I hope you enjoyed reading my tutorial and hopefully
you learnt something. My tutorial is not quite finished. Some work
needs to be done to Part VII and I would like to write chapters
on using C with assembly and optimization. An index is also planned.
Overview of the 80x86 Family
· Representation of numbers in binary
· Segments and offsets
· The Stack
Push and Pop: Two Instructions to use the Stack
· Types of Operand
· Some Instructions that you will need to know
· Your first assembly program
· Compilation Instructions
Making things easier
· Keyboard Input
· Printing a Character
· Control Flow
· Jump on Condition Instructions
· Example Program
Some instructions that you need to know
· Introduction to Procedures
· Procedures that pass parameters
· What are "Memory Models"?
· Macros with parameters
· How to save the file handle
· Using the FindFirst and FindNext Functions
· How to find out the DOS Version
· Multiple Pushes and Pops
· The PUSHA/PUSHAD and POPA/POPAD Instructions
· Using Shifts for faster Multiplication and Division
· How to use a debugger
More output in text modes
· Mode 13h
· First check that mode 13h is possible
· Setting the Video Mode
· Some Optimizations
In the meantime you can
contact me if you need any help.
Back to top