Course Code: assemblyprog
Duration: 14 hours
Prerequisites:
  • C/C++ programming experience

Audience

  • Software engineers
Overview:

Assembly language is a low-level programming language that is closely related to machine code, the binary instructions executed directly by a computer's CPU.

This instructor-led, live training (online or onsite) is aimed at beginner-level software engineers who wish to use assembly programming to program low-level hardware, IOT devices, and microcontrollers.

By the end of this training, participants will be able to:

  • Grasp the basic concepts and syntax of assembly programming.
  • Implement branches, loops, and conditions in assembly.
  • Perform operations like addition, comparison, and moving data.
  • Learn to compile, debug, and execute assembly programs.
  • Understand program structures and manage errors effectively.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.
Course Outline:

Introduction to Assembly Language

  • Overview of assembly language and its importance in low-level programming

Number Systems in Programming

  • Overview of decimal, binary, hexadecimal code

Setting Up the Programming Environment

  • Installing and configuring the assembly development environment

Registers in Assembly Programming

  • What is a register?
  • How to use registers (allocating storage space)

Working with Variables and Constants

  • Defining and using variables
  • Practical examples: addition, comparison, and move

Assembly Instructions and Data Handling

  • Creating instructions, working with variables and constants

Flow Control in Assembly

  • Branches, jumps, and conditional execution
  • Flow control and structure of a program

Arrays and Addressing Modes

  • Definition of an array
  • Addressing modes and their significance

Stack Data Structures and Functions

  • Using functions and stack management in assembly programming

Error Code Handling in Assembly

  • Understanding and implementing error codes

Compiling and Executing Assembly Programs

  • How to compile and execute assembly code
  • Guidelines for modifying and debugging programs

Advanced Assembly Concepts

  • Registers, branching, arrays
  • Advanced addressing modes

Hands-on Lab Work

  • Practical exercises to apply the learned concepts

Summary and Conclusion