Architectures

Architecture is the specific design of hardware that an assembly language is written for. As an assembly language is a 1 to 1 mapping to machine language spoken by the processor, the architecture defines what the hardware does. It provides the instructions, the data types, the formats, the resources, all in a giant specification. The people who build CPUs implement this architecture specification. From there, the assembly language writers build an assembly language on this specification. This allows the language to be run on any CPU that matches the architecture.

Virtual machines implement their own architecture and are generally able to run other architectures on top of themselves.

The majority of desktops, laptops, and servers run on Intel x86.

Most mobile devices run on ARM. A notable exception is the new Macbook Pro, which runs on custom ARM hardware. As mobile devices dominate the world, this means that ARM dominates the world. In the future we will see more ARM devices for everyday computing. If you want to you can take this course as an ARM course, you'll just have to compile everything differently and none of the examples will have the same output. Sorry.

This needs a bit more writing. For your assignment, ask any questions you do not understand.