diff options
-rw-r--r-- | mu_instructions | 4 | ||||
-rw-r--r-- | mu_summary | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/mu_instructions b/mu_instructions index 9897d6c0..fa696f82 100644 --- a/mu_instructions +++ b/mu_instructions @@ -227,6 +227,8 @@ If a record (product) type T was defined to have elements a, b, c, ... of types T_a, T_b, T_c, ..., then accessing one of those elements f of type T_f: var/reg: (addr T_f) <- get var2/reg2: (addr F), f: field name => 8d/copy-addr *(reg2+offset(f)) - {.name="get", .inouts=[reg2, f], .subx-name="8d/copy-addr", .rm32="*(" inouts[0] "+" offset(f) ")", .r32=outputs[0]} + {.name="get", .inouts=[reg2, f], .subx-name="8d/copy-address", .rm32="*(" inouts[0] "+" offset(f) ")", .r32=outputs[0]} +var/reg: (addr T_f) <- get var2: (addr F), f: field name + {.name="get", .inouts=[reg2, f], .subx-name="8d/copy-address", .rm32="*(ebp+" inouts[0].stack-offset "+" offset(f) ")", .r32=outputs[0]} vim:ft=c:nowrap diff --git a/mu_summary b/mu_summary index f15b6bd1..addfa340 100644 --- a/mu_summary +++ b/mu_summary @@ -207,5 +207,6 @@ Similarly, conditional loops: ## User-defined types - var/reg: (addr T_f) <- get var: (addr T), f + var/reg: (addr T_f) <- get var/reg: (addr T), f where record (product) type T has elements a, b, c, ... of types T_a, T_b, T_c, ... + var/reg: (addr T_f) <- get var: (addr T), f |