From d74f349e27a1ba20bd549362f95915ee6d2dd9d1 Mon Sep 17 00:00:00 2001 From: pommicket Date: Sat, 8 Jan 2022 10:15:43 -0500 Subject: allow terms to be more complicated --- 04/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to '04/README.md') diff --git a/04/README.md b/04/README.md index b9ee066..68cd81d 100644 --- a/04/README.md +++ b/04/README.md @@ -227,6 +227,9 @@ A *term* is one of: - `{variable name}` - the value of a (local or global) variable - `.{label name}` - the address of a label - `{number}` +- `&{variable}` - address of variable +- `*1{variable}` / `*2{variable}` / `*4{variable}` / `*8{variable}` - dereference 1, 2, 4, or 8 bytes +- `~{term}` - bitwise not An *l-value* is the left-hand side of an assignment expression, and it is one of: @@ -239,9 +242,6 @@ and it is one of: An *r-value* is an expression, which can be more complicated than a term. r-values are one of: - `{term}` -- `&{variable}` - address of variable -- `*1{variable}` / `*2{variable}` / `*4{variable}` / `*8{variable}` - dereference 1, 2, 4, or 8 bytes -- `~{term}` - bitwise not - `{function}({term}, {term}, ...)` - `{term} + {term}` - `{term} - {term}` -- cgit v1.2.3