From 3ae9d0ed54f7cd13a1672d0f5ae29d3f9baf4027 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Mon, 6 Jul 2020 11:13:12 -0700 Subject: 6621 --- mu.md | 5 +++++ 1 file changed, 5 insertions(+) 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. -- cgit 1.4.1-2-gfad0