Assembly Language



Gavin’s Guide to 80×86 Assembly

Tuesday, May 27th, 2008

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 [...]

PC Assembly Language

Tuesday, May 27th, 2008

Welcome to my PC Assembly Page
I taught Computer Science at the University of Central Oklahoma for 10 years. During this time I taught an introductory course in PC Assembly Language programming. I grew frustrated at teaching 16-bit real mode programming and decided to change to 32-bit protected mode. However, I soon ran into a problem. [...]

Introduction to GCC Inline Asm

Tuesday, May 27th, 2008

The GNU C Compiler uses the assembler `as’ as a backend. This
assembler uses AT&T syntax. Here is a brief overview of the syntax.
For more information about `as’, look in the [...]

Tiny Programs

Tuesday, May 27th, 2008

The programs listed here are provided as exhibitions of just how compressed a Linux ELF executable can be and still function.
Take a look through /usr/bin: how big is the smallest ELF executable in there? Now try writing the smallest hello-world program you can. Can you get it under 1K? Can you get it under 100 [...]

A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux

Tuesday, May 27th, 2008

If you’re a programmer who’s become fed up with software bloat, then may you find herein the perfect antidote.
This document explores methods for squeezing excess bytes out of simple programs. (Of course, the more practical purpose of this document is to describe a few of the inner workings of the ELF file format and the [...]

Finding Lost or Missing Pages

Tuesday, May 27th, 2008

There is no longer a web page present at the URL specified. If you followed a link from another web page, please notify the mainter of that site that this link is invalid.
If the URL begins with, “http://www.eskimo.com/~name”, where “name” is a 1-8 alphanumeric string, the web page belonged to our customer with that username. [...]

Linux Assembly “Hello World” Tutorial, CS 200

Tuesday, May 27th, 2008

Introduction
The following is designed familiarize the reader with programming in x86 (AT&T style, that produced by gcc) assembly under Linux and how to interface assembly and higher-level language code (i.e. C). The tutorial will also briefly cover debugging your assembly using GDB.
This tutorial requires the following:
an i386 family PC running Linux
GCC, the GNU C-compiler
GDB, the [...]

Inline assembly for x86 in Linux

Tuesday, May 27th, 2008

Bharata B. Rao offers a guide to the overall use and structure of inline assembly for x86 on the Linux platform. He covers the basics of inline assembly and its various usages, gives some basic inline assembly coding guidelines, and explains the instances of inline assembly code in the Linux kernel.
If you’re a Linux kernel [...]

Using Assembly Language in Linux.

Tuesday, May 27th, 2008

This article will describe assembly language programming under Linux. Contained within the bounds of the article is a comparison between Intel and AT&T syntax asm, a guide to using syscalls and a introductory guide to using inline asm in gcc.
This article was written due to the lack of (good) info on this field of programming [...]