aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/language.md9
1 files changed, 8 insertions, 1 deletions
diff --git a/docs/language.md b/docs/language.md
index bfb41f3..2429838 100644
--- a/docs/language.md
+++ b/docs/language.md
@@ -110,7 +110,14 @@ A leading size keyword sets the width explicitly. It down-converts a full regist
^byte rsi = 10 // mov byte [rsi], 10
```
-`^` is store-only for now; loading with `rax = ^rsi` isn't supported yet.
+`^reg` is also a value — it loads from that address. A size keyword loads a narrower value and zero-extends it into the target:
+
+```hdass
+rax = ^rsi // mov rax, [rsi]
+rbx = ^byte rsi // movzx rbx, byte [rsi]
+rcx = ^dword rsi // mov ecx, [rsi] (32-bit load zero-extends)
+rdx = ^rsi + 4 // load, then add 4
+```
## Expressions