Site Sections => About Us | Consultancy | Training | Software | Publications | Open Source | Support | Open Standards | FAQ | Jobs
Site Style Info

Introduction to Assembly Language Programming — A 5-day Course

Synopsis

This course discusses basic 8-bit and 16-bit microcontroller architectures and their instruction sets. You'll learn assembly language programming techniques using variables, arrays and data structures, together with the basic structured programming techniques of sequence, choice and iteration and how they can be realised in assembly language.

Key Skills

  • 8 bit and 16 bit micro-controller architectures and instruction sets
  • Basic assembly programming techniques using variables, arrays and data structures
  • The fundamental structured programming constructs of sequence, choice and iteration, and how they can be realised in assembly language code
  • Structured programming techniques using flowcharts and pseudo-code and how to convert these into clear well documented assembler
  • Techniques for programming of timers, peripherals and interrupt handling
  • The hands on exercises also cover the use of simulation, debugging and in-circuit debugging techniques as well as techniques for in-system programming

Prerequisites

  • Basic knowledge of programming and computers.
  • No prior knowledge of microcontrollers or assembly language is assumed.

Scheduled and On-site Courses

Courses in this subject are scheduled on an 'ad-hoc' basis. We can arrange a course at our Carshalton centre or on customer site for any client wishing to send two or more delegates on the same course.

For courses at the Carshalton Centre the fee will be:

  • £3500 + VAT for the first two delegates
  • £1650 + VAT for the third delegate
  • £1200 + VAT for the fourth delegate
  • £400 + VAT for each additional delegate to a maximum of eight

On-site course fees are as above + expenses recharged at cost.

For a 1:1 course in Carshalton the fee is £2750 + VAT. For a 1:1 on-site course the fee is £2750 + VAT + expenses recharged at cost.

If there are any dates showing below this line, a course has been scheduled and places for individuals are available at £1750. Otherwise, no courses are currently scheduled and the above fees apply.


Contents

Microprocessor Architectures

  • Microprocessors compared to micro-controllers
  • Uses of small micro-controllers
  • Harvard and Von-Neuman architectures compared
  • Memory types found in micro-controllers
  • Limitations of micro-controllers
  • Overview of common small micro-processor architectures

Instruction Sets and Assembly Language Programming

  • Anatomy of an instruction
  • Types of instruction
  • How an assembler converts assembly code into machine code (object code)
  • Formats for saving object code in files
  • Loading code into a micro-controller
  • Features found in typical Integrated Development Environments (IDEs)
  • How simulators and debuggers work
  • In circuit debugging and in circuit emulation compared and contrasted

Registers and Peripherals

  • Special Function Registers, Working Registers, General Purpose Registers
  • Typical on chip peripherals - USARTS, A/D, Timers, I/O Ports
  • Basic Input / Output ( I/O )

Basic Assembly Language Program Patterns and Templates

  • Implementing if-then-else logic in assembler
  • Implementing iteration loops in assembler
  • Calling and returning from functions in assembler
  • Understanding the concept of a stack
    • Hardware stacks and software stacks
    • Passing arguments to functions
    • Returning results from functions
    • Saving and restoring context when working with functions
  • Dealing with segmented memory architectures

Interrupts and Interrupt Handling

  • What is an interrupt
  • Enabling and disabling interrupts
  • Interrupt vectors
  • Prioritising of interrupts
  • Nesting of interrupts
  • Masking of interrupts
  • Saving and restoring context in interrupt handlers
  • Polling vs. interrupt driven event handling

Basic Input Output Techniques

  • Displaying patterns using LEDs
    • Cycling through a sequence of patterns
    • Using software delays
    • Using polling for timer counter overflow to implement a delay
  • Using timer interrupts to implement a delay
  • Using lookup tables to specify a sequence of patterns
  • Driving 7/8 segment LED displays
  • Buttons and keypads
    • Detecting button presses using polling / interrupt approaches
    • Interfacing to a 3 x 4 or 4 x 4 keypads

More Advanced Input Output Techniques

  • Driving a simple two line LCD display controller
  • Implementing RS232 communications using an on chip USART
  • Implementing RS232 communications using "bit banging"

Tables, Arrays and Records

  • Defining and implementing simple constant data lookup tables
  • Defining and working with simple arrays
  • Designing and implementing basic record oriented data structures
  • Maths
  • Binary, octal, decimal and hexadecimal numbers
  • Using 1's complement and 2's complement to represent negative numbers
  • How maths libraries implement basic integer arithmetic functions
  • Fixed point and floating point arithmetic
  • Converting a binary number into a string of digit characters
  • Implementing parity checking

Assembly training UK enquiries

UK Training enquiries and feedback form.

Assembly training UK prices

For publicly scheduled training (individual places), see our UK training schedule.

In-house training for company groups is charged at a daily rate per group — see our In-House UK Training Guidelines.

Publicly Scheduled Training Locations

We currently run public training courses in the following locations:

  • London, UK
  • Leeds, West Yorkshire, UK
  • Birmingham, West Midlands, UK
  • Carshalton, Surrey, UK
  • Chester, North West, UK
  • Coventry, West Midlands, UK
  • Edinburgh, Scotland, UK
  • Glasgow, Scotland, UK
  • Harwell, Oxfordshire, UK
  • Manchester, North West, UK
  • Milton Keynes, Buckinghamshire, UK
  • Newark, Nottinghamshire, UK
  • Reading, Berkshire, UK
  • Slough, Berkshire, UK
  • Stevenage, Hertfordshire, UK
  • Wakefield, West Yorkshire, UK
  • Wokingham, Berkshire, UK

Most UK public training courses are available on a monthly basis.

Please see the individual course outlines or our public training schedule for details.

In-house (on-site) training locations

We deliver in-house courses at client premises and/or training facilities in any part of the world which is practically and commercially accessible.

Our In-house training guidelines outline our basic requirements and our UK pricing structure. To estimate costs for training in other countries, simply convert to your local currency and then make a rough calculation of our tutor's costs for travelling to and staying at your location.


West Yorkshire Office

GBdirect Ltd
Training Division
Bradford Design Exchange
34 Peckover Street
BRADFORD
BD1 5BD
West Yorkshire
United Kingdom

training@gbdirect.co.uk

Training: 0800 651 0338
General: +44 (0)870 200 7273
Finance: +44 (0)1353 615 174

Please call between 0900 and 1700 (UK time) on Monday to Friday


South East Regional Office

GBdirect Ltd
Training Division
18 Lynn Rd
ELY
CB6 1DA
Cambridgeshire
United Kingdom

training@gbdirect.co.uk

Training: 0800 651 0338
General: +44 (0)870 200 7273
Finance: +44 (0)1353 615 174

Please call between 0900 and 1700 (UK time) on Monday to Friday


Please note:
Non-training enquiries should be directed, initially, to our UK national office in Bradford (West Yorkshire), even if the enquiry concerns services delivered in London or South/East England. Clients in London and the South East will typically be handled by staff working in the London or Cambridge areas.