From 606c1ab49a6753d4bc84b65466774274fcf04a83 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Wed, 25 Mar 2020 09:54:53 -0700 Subject: [PATCH] 6170 --- html/mu_instructions.html | 6 +++--- mu_instructions | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/html/mu_instructions.html b/html/mu_instructions.html index 1c50a228..f510d850 100644 --- a/html/mu_instructions.html +++ b/html/mu_instructions.html @@ -177,7 +177,7 @@ var/reg <- multiply *var2/reg2 => # Address operations var/reg: (addr T) <- address var2: T => "8d/copy-address *(ebp+" var2.stack-offset ") " reg "/r32" @@ -202,7 +202,7 @@ var/reg: (offset T) <- compute-offset arr: (addr var/reg <- index arr/rega: (addr array T), o/rego: offset => "8d/copy-address *(" rega "+" rego "+4) " reg "/r32" -User-defined types +# User-defined types 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: @@ -212,7 +212,7 @@ var/reg: (addr T_f) <- get var2/reg2: (addr F), var/reg: (addr T_f) <- get var2: (addr F), f => "8d/copy-address *(ebp+" var2.stack-offset "+" offset(f) ") " reg "/r32" -Handles for safe access to the heap +# Handles for safe access to the heap copy-handle-to dest: (handle T), src: (handle T) => "50/push-eax" diff --git a/mu_instructions b/mu_instructions index f6b05faa..f9866aca 100644 --- a/mu_instructions +++ b/mu_instructions @@ -152,7 +152,7 @@ loop-if-addr>= label => "0f 83/jump-if-addr>= " label ":loop/disp32 In the following instructions types are provided for clarity even if they must be provided in an earlier 'var' declaration. -Address operations +# Address operations var/reg: (addr T) <- address var2: T => "8d/copy-address *(ebp+" var2.stack-offset ") " reg "/r32" @@ -177,7 +177,7 @@ var/reg: (offset T) <- compute-offset arr: (addr array T), idx: int # arr var/reg <- index arr/rega: (addr array T), o/rego: offset => "8d/copy-address *(" rega "+" rego "+4) " reg "/r32" -User-defined types +# User-defined types 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: @@ -187,7 +187,7 @@ var/reg: (addr T_f) <- get var2/reg2: (addr F), f var/reg: (addr T_f) <- get var2: (addr F), f => "8d/copy-address *(ebp+" var2.stack-offset "+" offset(f) ") " reg "/r32" -Handles for safe access to the heap +# Handles for safe access to the heap copy-handle-to dest: (handle T), src: (handle T) => "50/push-eax"