~vdupras/tumbleforth

0559f0993a9211e078dabc2cce1ab69b73c29085 — Virgil Dupras 1 year, 4 months ago 2e95679
update
4 files changed, 13 insertions(+), 6 deletions(-)

M 01-duskcc/01-buckleup.md
M 01-duskcc/02-baremetal.md
M 01-duskcc/09-dusktillc.md
M index.html
M 01-duskcc/01-buckleup.md => 01-duskcc/01-buckleup.md +1 -1
@@ 134,7 134,7 @@ let's have our assembler `buckleup` executable:
        int 0x80

You can see that the boilerplate part stays the same. See how it's not plagued
by crappy boilerplate around it and that registers can be nicely used like
by crappy mangling fluff around it and that registers can be nicely used like
variables? Yeah, it can be as simple as this. Try it, you’ll see that it
correctly returns 54 as the error code.


M 01-duskcc/02-baremetal.md => 01-duskcc/02-baremetal.md +3 -3
@@ 82,11 82,11 @@ I’m just going to give it straight to you and then explain it:
        mov ah, 0x13	; Function: Write string
        mov al, 0		; write mode: don't update cursor
        mov bh, 0		; page number
        mov bl, 0xf	; color: white
        mov cx, 12	; Number of characters to write
        mov bl, 0xf	    ; color: white
        mov cx, 12	    ; Number of characters to write
        mov dh, 0		; Row
        mov dl, 0		; Column
        mov bp, msg	; Pointer to string
        mov bp, msg	    ; Pointer to string
        int 0x10
    loop:	jmp loop
    msg:

M 01-duskcc/09-dusktillc.md => 01-duskcc/09-dusktillc.md +7 -0
@@ 292,6 292,12 @@ compiler, when comes the time of generating the code.

*The source code for our toy assembler can be [downloaded here][srctgz]*

## Going further

We won't go further, assembler-wise, in this story arc. If you wish to explore
this subject further, I recommend you a [good tool to help you visualize x86
encoding][x86enc].

## Up next

In the next article, we’ll set aside our shiny new assembler for a while as we


@@ 329,3 335,4 @@ the operands is always “direct”. `reg` is the one.
[hal]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/doc/hal.txt
[brad]: https://www.bradrodriguez.com/papers/moving1.htm
[i386ref]: https://css.csail.mit.edu/6.858/2014/readings/i386.pdf
[x86enc]: https://www-user.tu-chemnitz.de/~heha/hsn/chm/x86.chm/x86.htm

M index.html => index.html +2 -2
@@ 42,8 42,8 @@ out to me at hsoft@hardcoded.net.
</p>

<p>
If payment through Stripe doesn't work for you either, reach out to me, we can
work out other options, including snail mail.
If payment through Stripe doesn't work for you, reach out to me, we can work
out other options, including snail mail.
</p>

<p>I'm processing transactions manually for now, so it might take a few hours