1
0
mirror of https://github.com/catseye/SixtyPical.git synced 2024-06-14 08:29:33 +00:00

Small documentation sorting.

This commit is contained in:
Chris Pressey 2018-02-12 16:40:53 +00:00
parent f6fa1ec7d2
commit 6039e59999
2 changed files with 6 additions and 8 deletions

View File

@ -4,15 +4,15 @@ History of SixtyPical
0.12
----
* `copy` is now understood to trash `a`, thus it is not valid to use it in `copy`.
* `copy` is now understood to trash `a`, thus it is not valid to use `a` in `copy`.
To compensate, indirect addressing is supported in `ld` and `st`, for example,
as `ld a, [ptr] + y` and `st a, [ptr] + y`.
* Implements the "union rule for trashes" when analyzing `if` blocks.
* Even if we `goto` another routine, we can't trash an output.
* `static` storage locations local to routines can now be defined within routines.
* Small grammar changes that obviate:
* the need for parentheses in the type expression `vector (routine ...) table`#
* the need for `forward` in forward references in source of `copy` instruction
* Small grammar changes that obviate the need for:
* the parentheses in type expressions like `vector (routine ...) table[256]`
* the `forward` keyword in forward references in source of `copy` instruction
* Fixed bug where `trash` was not marking the location as being virtually altered.
0.11

View File

@ -39,10 +39,6 @@ Documentation
TODO
----
### `low` and `high` address operators
To turn `word` type into `byte`.
### Save registers on stack
This preserves them, so that, semantically, they can be used later even though they
@ -66,8 +62,10 @@ is probably NP-complete. But doing it adeuqately is probably not that hard.
### And at some point...
* `low` and `high` address operators - to turn `word` type into `byte`.
* `const`s that can be used in defining the size of tables, etc.
* Tests, and implementation, ensuring a routine can be assigned to a vector of "wider" type
* Related: can we simply view a (small) part of a buffer as a byte table? If not, why not?
* Check that the buffer being read or written to through pointer, appears in approporiate inputs or outputs set.
(Associate each pointer with the buffer it points into.)
* `static` pointers -- currently not possible because pointers must be zero-page, thus `@`, thus uninitialized.