M 01-duskcc/01-buckleup.md => 01-duskcc/01-buckleup.md +2 -2
@@ 32,7 32,7 @@ compiled and then ran?
}
*Code in this article is also available in
-[Tumble Forth's git repository][src].*
+[Tumble Forth's git repository][gitrepo].*
So, you know that you can save this to `buckleup.c`, then run `cc -o buckleup
buckleup.c` and then run the resulting `./buckleup` executable, which will exit
@@ 212,7 212,7 @@ we'll talk later.
[collapseos]: http://collapseos.org
[duskos]: http://duskos.org
-[src]: https://git.sr.ht/~vdupras/tumbleforth
+[gitrepo]: https://git.sr.ht/~vdupras/tumbleforth
[elf]: https://en.wikipedia.org/wiki/Executable_and_Linkable_Format
[ccall]: https://en.wikipedia.org/wiki/X86_calling_conventions#System_V_AMD64_ABI
[nasm]: https://www.nasm.us/
M 01-duskcc/02-baremetal.md => 01-duskcc/02-baremetal.md +2 -2
@@ 70,7 70,7 @@ Enough babbling, let’s flex our fingers and get going.
## Hello World
*Code in this article is also available in
-[Tumble Forth's git repository][src].*
+[Tumble Forth's git repository][gitrepo].*
We’re going to print “Hello World!” on a bare metal PC using BIOS functions
through a boot sector we’ll assemble using NASM. The listing is so simple that
@@ 247,7 247,7 @@ world of Forth, which OSdev doesn’t cover.
[^16]: Although I’d be happy if it did!
-[src]: https://git.sr.ht/~vdupras/tumbleforth
+[gitrepo]: https://git.sr.ht/~vdupras/tumbleforth
[prev]: 01-buckleup.html
[nextup]: 03-onesector.html
[qemu]: https://www.qemu.org/
M 01-duskcc/03-onesector.md => 01-duskcc/03-onesector.md +3 -2
@@ 59,7 59,7 @@ have to worry about CHS addressing for now as we will always read from cylinder
*We’re about to start talking about code. Up until now, all code was inlined in
the articles, but it’s becoming too voluminous for this. The code associated
-with this article is available in [Tumble Forth's git repository][src] which
+with this article is available in [Tumble Forth's git repository][gitrepo] which
you should use in order to follow along.*
We have a source? We have a destination? Then we know what to do, let’s write
@@ 147,7 147,8 @@ number would need to be 0xaa55 to have the intended effect.
[^6]: You think that’s complicated? Just wait until you try to get in protected
mode!
-[src]: https://git.sr.ht/~vdupras/tumbleforth
+[gitrepo]: https://git.sr.ht/~vdupras/tumbleforth
+[src]: https://git.sr.ht/~vdupras/tumbleforth/tree/master/item/01-duskcc/03-onesector
[prev]: 02-baremetal.html
[nextup]: 04-wordsshell.html
[sectorforth]: https://github.com/cesarblum/sectorforth
M 01-duskcc/04-wordsshell.md => 01-duskcc/04-wordsshell.md +1 -1
@@ 161,7 161,7 @@ prefer that order. More on this later.
[^6]: With the contents having been loaded from the bootloader.
[^7]: "jb” means “jump if dest operand is below source operand”.
-[src]: https://git.sr.ht/~vdupras/tumbleforth
+[src]: https://git.sr.ht/~vdupras/tumbleforth/tree/master/item/01-duskcc/04-wordsshell
[prev]: 03-onesector.html
[nextup]: 05-dolookup.html
[basic]: https://en.wikipedia.org/wiki/BASIC_interpreter
M 01-duskcc/05-dolookup.md => 01-duskcc/05-dolookup.md +1 -1
@@ 190,7 190,7 @@ centered around colors!
word “user” really doesn’t convey how intensely the creativity of the person at
the keyboard is being solicited. You’re like Tank in the Matrix!
-[src]: https://git.sr.ht/~vdupras/tumbleforth
+[src]: https://git.sr.ht/~vdupras/tumbleforth/tree/master/item/01-duskcc/05-dolookup
[prev]: 04-wordsshell.html
[nextup]: 06-taletwostacks.html
[ll]: https://en.wikipedia.org/wiki/Linked_list
M 01-duskcc/06-taletwostacks.md => 01-duskcc/06-taletwostacks.md +1 -1
@@ 280,7 280,7 @@ personal convention.
used.
[^11]: In Forth speak, the “!” symbol means “store”.
-[src]: https://git.sr.ht/~vdupras/tumbleforth
+[src]: https://git.sr.ht/~vdupras/tumbleforth/tree/master/item/01-duskcc/06-taletwostacks
[prev]: 05-dolookup.html
[nextup]: 07-babywalk.html
[ccall]: https://en.wikipedia.org/wiki/X86_calling_conventions
M 01-duskcc/07-babywalk.md => 01-duskcc/07-babywalk.md +1 -1
@@ 183,7 183,7 @@ unfinished, and thus broken. With no `ret` to stop the call chain, calling the
broken word will result in executing uninitialized memory, which means
“fireworks!”. Our baby Forth isn’t mistake-friendly!
-[src]: https://git.sr.ht/~vdupras/tumbleforth
+[src]: https://git.sr.ht/~vdupras/tumbleforth/tree/master/item/01-duskcc/07-babywalk
[prev]: 06-taletwostacks.html
[nextup]: 08-immediate.html
[brad]: https://www.bradrodriguez.com/papers/moving1.htm
M 01-duskcc/08-immediate.md => 01-duskcc/08-immediate.md +1 -1
@@ 213,7 213,7 @@ to your will!
[^9]: and I’d be very happy if you were! Let me know if you’re stuck at some
point.
-[src]: https://git.sr.ht/~vdupras/tumbleforth
+[src]: https://git.sr.ht/~vdupras/tumbleforth/tree/master/item/01-duskcc/08-immediate
[prev]: 07-babywalk.html
[nextup]: 09-dusktillc.html
[starting]: https://www.forth.com/starting-forth/
M 01-duskcc/09-dusktillc.md => 01-duskcc/09-dusktillc.md +1 -1
@@ 321,7 321,7 @@ operands. For example, `“add [esi], [eax]”` is impossible. Therefore, one of
the operands is always “direct”. `reg` is the one.
[^5]: Let’s ignore the imm8 optimization for now.
-[src]: https://git.sr.ht/~vdupras/tumbleforth
+[src]: https://git.sr.ht/~vdupras/tumbleforth/tree/master/item/01-duskcc/09-dusktillc
[prev]: 08-immediate.html
[nextup]: 10-beast.html
[dusk]: http://duskos.org/
M 01-duskcc/11-eye.md => 01-duskcc/11-eye.md +1 -1
@@ 231,6 231,6 @@ generation, using an Abstract Syntax Tree representation of the code in between.
We don't (DuskCC doesn't either). We generate code directly as we parse. It
comes with a few drawbacks, but results in a much simpler code.
-[src]: https://git.sr.ht/~vdupras/tumbleforth
+[src]: https://git.sr.ht/~vdupras/tumbleforth/tree/master/item/01-duskcc/11-eye
[prev]: 10-beast.html
[str]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/doc/lib/str.txt