28.4. User vs system assembly

By "userland assembly", we mean "the parts of the ISA which can be freely used from userland".

Most ISAs are divided into a system and userland part, and to running the system part requires elevated privileges such as ring0 in x86.

One big difference between both is that we can run userland assembly on Userland setup, which is easier to get running and debug.

In particular, most userland assembly examples link to the C standard library, see: Section 28.5, “Userland assembly C standard library”.

Userland assembly is generally simpler, and a pre-requisite for Baremetal setup.

System-land assembly cheats will be put under: Section 2.9, “Baremetal setup”.