diff --git a/README.md b/README.md index cf682b3..5f34760 100644 --- a/README.md +++ b/README.md @@ -13,15 +13,20 @@ suceeding pseudo-UTF-8 character is encoded as follows: * `1111110H 10HHHxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx` * `11111110 10HHHHxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx` -The first four bytes determine the type: - -* `0`: Value is a register. -* `1`: Value is immediate. +The first four bytes determine the type. The LSB high bit determines +if the encoded value is a register (`0001`) or immediate (`0010`). +The second bit from LSB determines if the value should be treated +as a signed 32 bit two's compliment number (`001X`) or should be +treated as an unsigned 32 bit number (`000X`). All other values are reserved. Overlong values are allowed, and for some argument values they are necessary. All lines are terminated by a byte of all zeros. +## Assembler + +The macro assembler is Python (see the asm directory). + ## Design Philsophy Creole is small but not minimal. It is easy to add instructions, and