O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Assembly Language Programming

Video Description

The Assembly Language course is intended for those who wish to write assembly for both Windows and Linux. It uses the freely available NASM assembler, which is feature-complete and produces object code in a variety of formats. The predominant CPUs today use the Intel instruction set, and all examples in the course use that instruction set. The course covers the background information necessary for assembly programming and it covers the forms programs must take to operate in the systems. Some time is spent with low-level I/O, but many of the examples interface with C mainline programs. The emphasis of the course is in writing assembly language functions that can be called from higher level languages. To begin learning today, simply click on the movie links.

Table of Contents

  1. Introduction
    1. Contents of this Course 00:04:51
    2. The Reason for Assembly Language 00:04:52
    3. Opposite of Portable 00:04:18
  2. Necessary Fundamentals
    1. Step by Step Execution 00:04:47
    2. Hexadecimal/Octal/Binary 00:04:17
    3. Boolean Operations 00:02:40
    4. Binary Integers 00:03:23
  3. The Computer
    1. Memory & the CPU 00:05:19
    2. The Flag Register 00:05:23
    3. Modes & Interrupts 00:05:59
  4. The Assembler
    1. Windows Installation 00:05:53
    2. Linux Installation 00:04:41
    3. Command Line Options pt. 1 00:07:25
    4. Command Line Options pt. 2 00:03:19
    5. Hello world 00:05:40
  5. Assembly Language Basics
    1. Layout of an Instruction 00:05:21
    2. Constants 00:04:41
    3. Declarations 00:05:37
    4. Pseudo Instructions pt. 1 00:04:23
    5. Pseudo Instructions pt. 2 00:03:57
    6. Layout of a Module 00:05:02
    7. Assembling & Linking 00:01:37
    8. Comparisons & Jumps 00:05:21
    9. GCD Four Ways 00:07:08
    10. A Random Integer Generator 00:05:14
    11. Addressing 00:06:15
    12. Output 00:08:28
    13. Input 00:07:27
    14. Looping 00:02:21
    15. The Stack 00:05:09
    16. Find a Prime 00:05:30
    17. It is All Bits 00:07:33
  6. Macro Preprocessor
    1. Single Line Macros 00:06:07
    2. Standard Macros 00:03:15
    3. Conditional Assembly 00:04:01
    4. Parameters & Overloading 00:03:23
    5. Macro Looping 00:04:36
    6. Source Files 00:04:10
    7. Preprocessor Stack 00:03:29
    8. Errors & Environment 00:03:31
    9. NASM Standard Macros 00:03:41
  7. Performing Bit Operations
    1. Shifts & Rotates 00:06:28
    2. Boolean Operations 00:03:44
    3. Choosing Without Branching 00:05:30
    4. Endians 00:04:24
  8. Aggregates
    1. Defining Arrays 00:04:14
    2. Addressing Array Members 00:05:29
    3. Multidimensional Arrays 00:03:27
    4. Structs 00:01:14
    5. Block Operations pt. 1 00:04:37
    6. Block Operations pt. 2 00:03:45
  9. Floating Point
    1. Floating Point Representation 00:05:48
    2. Floating Point Numbers 00:04:29
    3. Floating Point Processor 00:02:25
    4. Floating Point Instructions pt. 1 00:04:24
    5. Floating Point Instructions pt. 2 00:03:56
    6. Quadratic Equation 00:06:46
  10. Debugging
    1. Things a Debugger Does 00:05:00
    2. The Linux Debugger 00:06:11
    3. The Windows Debugger 00:04:19
    4. Unexpected NASMs 00:05:41
  11. Assembly Potpourri
    1. Assembler Directives 00:03:21
    2. The Context Stack 00:03:34
    3. Macro Overloading 00:02:57
    4. The UNIX Assembler 00:03:34
    5. The TASM Assembler 00:02:14
    6. The MASM Assembler 00:03:08
    7. The IBM Mainframe Assembler 00:02:16
  12. Wrapup
    1. Wrapup 00:05:42
  13. Credits
    1. About this Author 00:02:59