~vdupras/duskos

95a5d2d26ef250ca7f23347609303ff0b12f2a88 — Virgil Dupras a month ago 8edbc72
doc/hal: clarify [@], and [!],
1 files changed, 10 insertions(+), 0 deletions(-)

M fs/doc/hal.txt
M fs/doc/hal.txt => fs/doc/hal.txt +10 -0
@@ 116,6 116,16 @@ This also applies to compare, which means that, for example,
"$4242 LIT>W, RSP) 8b) compare," will never set the Z flag because even if RSP)
is $42, comparison is done one the whole W register.

### Operation width and indirect operators

The HAL has indirect fetch/store operators under the name of "[@]," and "[!],".
This means that we fetch and store at the address where the operand points to.

What happens when we use this with 8b) and 16b) operand modifiers? These
modifiers will only apply to the last part of the fetch/store operation. Because
all addresses in Dusk are 32-bit, it would make no sense to apply them to the
first part of the operation.

### Branching and flags

The HAL can generate branching, conditional or not, through its "branch"