about summary refs log tree commit diff stats
path: root/mu.md
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-07-06 11:13:12 -0700
committerKartik Agaram <vc@akkartik.com>2020-07-06 11:13:12 -0700
commit3ae9d0ed54f7cd13a1672d0f5ae29d3f9baf4027 (patch)
treefa9b52bb561e859e2585c8824c27bde5403585c9 /mu.md
parent8620c1edc329bb30e19419b55654b540712b6033 (diff)
downloadmu-3ae9d0ed54f7cd13a1672d0f5ae29d3f9baf4027.tar.gz
6621
Diffstat (limited to 'mu.md')
-rw-r--r--mu.md5
1 files changed, 5 insertions, 0 deletions
diff --git a/mu.md b/mu.md
index 26d04eec..cf855615 100644
--- a/mu.md
+++ b/mu.md
@@ -127,6 +127,11 @@ or memory.
 Variables on the stack are never initialized. (They're always implicitly
 zeroed them out.) Variables in registers are always initialized.
 
+Register variables can go in 6 registers: `eax`, `ebx`, `ecx`, `edx`, `esi`
+and `edi`. Defining a variable in a register either clobbers the previous
+variable (if it was defined in the same block) or shadows it temporarily (if
+it was defined in an outer block).
+
 Variables exist from their definition until the end of their containing block.
 Register variables may also die earlier if their register is clobbered by a
 new variable.