These blog posts pertain to the use of assembly programming languages in embedded systems.

U.S. District Court Source Code Review Rules

The U.S. District Court of Delaware's "Default Standard for Access to Source Code" follows many but not all recommended best practices for source code discovery.  This month we consider potential areas for improvement in the default rules of this important venue for patent infringement and software copyright litigation.

How to Design Software-Friendly FPGAs and ASICs

Designing firmware-accessible debugging resources into embedded systems provides a valuable supplement to hardware test and analysis tools.

How to Find and Fix the Most Common Embedded Software Bugs

As if debugging traditional PC/server software or even smartphone apps wasn't hard enough, debugging embedded software adds significant challenges.

How to Minimize Interrupt Service Routine (ISR) Overhead

With all the automation available today, it's easy for programmers to overlook costly overhead introduced into machine code by the compiler. Interrupt handlers are one key area worthy of a closer inspection.

Optimal C Constructs for 8051 Microcontrollers

The limitations of an 8-bit microcontroller (MCU) can sometimes make conventional C constructs produce suboptimal code. In this article we look at common problems on the 8051 family and discuss workarounds in C.

How Endianness Works: Big-Endian vs. Little Endian

Some human languages are read and written from left to right; others from right to left. A similar issue arises in the field of computers, involving the representation of numbers.

Assembly vs. C: Which is Best for Microcontrollers?

Given a particular programming problem, what language should you use to realize the solution? Your choice could very well affect the success or failure of the project. So you'd better choose wisely.

Efficient C Code for 8-bit Microcontrollers

The 8051, 68HC11, and Microchip PIC are popular microcontrollers, but they aren't necessarily easy to program. This article shows how the use of ANSI C and compiler-specific constructs can help generate tighter code.