A long time ago I wrote a tutorial for FORTH. It's in two parts, a part written in i386 assembly: https://github.com/nornagon/jonesforth/blob/master/jonesfort...
followed by a part written in FORTH: https://github.com/nornagon/jonesforth/blob/master/jonesfort...
It builds gradually from asm primitives into a somewhat sophisticated language with features like exceptions, function inlining and a decompiler.
The major strength, probably unique amongst programming languages, is that you can keep the entire system in your head (by "system", I mean both language and the simple operating system that it implements). The downside is that the code is write-only.