diff --git a/HISTORY.md b/HISTORY.md index 3247129..da3c61b 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -8,6 +8,8 @@ History of SixtyPical * Initialized `byte table` values need not have all 256 bytes initialized. * Constraints for `vector` type come immediately after the type, not the variable. * `vector table` storage, and ability to copy vectors in and out of same. +* Added `typedef`, allowing the user to define type aliases for readability. +* Added `define name routine {...}` syntax; `routine name {...}` is now legacy. * Removed the evaluator. The reference implementation only analyzes and compiles. * Fixed bug where index register wasn't required to be initialized before table access. diff --git a/README.md b/README.md index aaaf0f7..6ccd1dd 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,11 @@ assumed to be meaningful. * `copy x, [ptr] + y` * Maybe even `copy [ptra] + y, [ptrb] + y`, which can be compiled to indirect LDA then indirect STA! +### Union rule for trashes in `if` + +If one branch trashes {`a`} and the other branch trashes {`b`} then the whole +`if` statement trashes {`a`, `b`}. + ### And at some point... * Check that the buffer being read or written to through pointer, appears in approporiate inputs or outputs set.