This note explains the
following topics: Introduction to Linux Assembly Language, x86 architecture,
64-bit x86 Assembly, ARM Assembly language, ARM Thumb, 8-bit 6502 or 16-bit
65c816 Programming, Video Game Programming and Assembly Code Optimization.
starts from basic information needed for MIPS assembly language programming
using MARS IDE, the text covers MIPS arithmetic and logical operators, memory
model of MIPS, control structures, recursion, and array, and so on in grater
The purpose of this
text is to provide a reference for University level assembly language and
systems programming. Specifically, this text addresses the x86-641 instruction
set for the popular x86-64 class of processors using the Ubuntu 64-bit Operating
System. While the provided code and various examples should work under any
Linux-based 64-bit OS, they have only been tested under Ubuntu 14.04 LTS.
This note covers the following topics: Introduction to Computer Organization,
Sample 68000 Addressing Modes, Introduction to Input/Output, Memory
Mapped I/O, Stacks and Stack Operations, Stack Related Instructions,
Recursive/Re-entrant subroutines, Utilizing The Stack for Local Subroutine
Storage, Interrupts & Exceptions,
Interrupt-Driven I/O, Vectored Interrupts, PIT I/O and Timer Interrupt Examples,
68000 Binary Coded Decimal (BCD) And Multiple-Precision Arithmetic Support , Reduced Instruction Set Computer, Basic concepts of CPU organization.
contains very brief examples of assembly language programs for the x86.The
author gives examples written for NASM, MASM and gas for both Win32 and Linux.
Also includes a section on DOS assembly language programs for historical