recent success story


BE-12 - Fundamentals of Software Engineering

'The lecturer was very detailed in his explanations and ensured relevant subjects were covered in sufficient detail. Top stuff.'

- BAE Systems

BE-30 - Managing MBSE projects

'New method of looking at systemised design, designing from ground up - very interesting! Well presented, answers to questions always given with thought and consideration. An excellent course, thank you'


BE-10 - Use Case Analysis using UML

'The Use Cases exercise was directly applied to the problems we are having in the current projectso we learnt a lot from this course. '

- BAE Systems

SY-02 - System Modelling using SysML

'We really appreciate that Objektum Solutions didn’t limit the discussion to the training material and were able to draft a project specific process which has enabled us to continue our development effort.'

- Brembo

SY-02 - System Modelling using SysML

'The training support provided by Objektum Solutions certainly met our requirements 100% and we appreciated the the professionalism of lecturers, as well as their clear and detailed presentation of the material.'

- Brembo

RE-01 - Expressing Requirements in CoRE

'Everything about this course was spot on.'

- RAF - Conningsby

PG-02 - Programming in Ada95

'The professionalism and quality of training provided by Objektum never ceases to amaze me!'

- RAF - Boscombe Down

PG-10 - Programming in C++

'Really well organised, informative and provided me with enough detail to begin coding immediately. I would highly recommend Objektum Solutions. '

- BAE Systems

PG-02 - Programming in Ada95

'The course was excellent, the lecturers' depth of Ada95 knowledge was amazing.'

- Lockheed Martin

Advanced Assembly Programming

Make an enquiry Print

Reference: PG-54
Duration: 5 Day(s)


The course covers techniques needed to develop substantial assembly language programs as found for example in operating system kernel code, metering and measuring equipment, smart sensor systems, motor and engine controllers, byte code interpreters, device drivers and interrupt handlers. Aspects covered include; Macro programming techniques, Use of linkers, Realising state machine and statechart designs in assembler, Implementing circular buffers, realising data structures in assembler, Assembly language programming of on-chip peripherals such as USARTs, I2C and SPI, A/D, Timers, and external interrupts, Programming and uses of PWM (Pulse Width Modulation) and Capture Compare, Real Time clocks, Watch Dog Timers and power conservation programming techniques.

Company Benefits

Students successfully completing this course will have a sound understanding of advanced assembly language programming techniques such as Macros and use of Linkers. You'll gain a thorough understanding of working with standard on-chip peripherals as well as interfacing off-chip peripherals (including SPI and I2C devices). You'll learn standard assembly language programming techniques for realising state machines and statecharts and for implementing basic multi-tasking strategies.


  • Overview of structured programming
  • Macros and macro pre-processing
  • Libraries, modules and linkers
  • Data structures and arrays
  • Serial communications protocols and peripherals
  • State machines and statecharts
  • Layered interrupt handling
  • Timers and their uses
  • Approaches to multi-tasking, and their implementation in assembler
  • Useful peripherals
  • Controlling high power devices
  • Assembly language realisation of Programmable Logic Controller (PLC) functionality

Who should attend

Attendees should have a good basic understanding of typical small microcontroller architectures and basic assembly language programming skills.


No specific prerequisites have been identified for this course.
Make an enquiry

Related courses