ESE101: Building an Assembly Language Playground

A wise man once said:

Take a kid to a playground and he’ll play for a day. Teach a kid to build a playground and he’ll get frustrated, bored, and wander off.

Today I’m going to teach you to build an assembly language playground. If that sounds fun, read on! If not, then feel free to wander off.

Read More

ESE101: Immediately!

Our existing ADD, SUB, and MOVE instructions move numbers to and from registers and memory. Let’s add a new source for these instructions called an immediate value.

An immediate value is a number that is hardcoded inside the instruction itself; the immediate value doesn’t come from a register or memory location.

Read on - immediately!

Read More

ESE101: Three Simple Steps to a Better Microcontroller

Last time, I introduced the microcontroller and its instructions, registers, and memory.

But I didn't talk about where instructions come from. Does the stork bring them? Or are they found in a cabbage patch? You won't believe the truth! (Yes you will.)

Read More

Embedded Software Engineering 101: Microcontroller Basics

We’ll start our Embedded Software Engineering 101 journey with the humble microcontroller. The microcontroller (or microprocessor) is the fundamental building block of all computer systems, embedded or otherwise.

A microcontroller seems quite complicated, but it’s made up of three simple things: instructions, registers, and memory. Instructions are the things a microcontroller knows how to do. A simple microcontroller doesn’t know how to do much - it might only have 20 or 30 instructions. I’ll use the MSP430 microcontroller made by Texas Instruments later in this series, and it has only 27 instructions.

Read More