1
0
mirror of https://github.com/catseye/SixtyPical.git synced 2025-08-12 19:25:07 +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 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, To compensate, indirect addressing is supported in `ld` and `st`, for example,
as `ld a, [ptr] + y` and `st a, [ptr] + y`. as `ld a, [ptr] + y` and `st a, [ptr] + y`.
* Implements the "union rule for trashes" when analyzing `if` blocks. * Implements the "union rule for trashes" when analyzing `if` blocks.
* Even if we `goto` another routine, we can't trash an output. * Even if we `goto` another routine, we can't trash an output.
* `static` storage locations local to routines can now be defined within routines. * `static` storage locations local to routines can now be defined within routines.
* Small grammar changes that obviate: * Small grammar changes that obviate the need for:
* the need for parentheses in the type expression `vector (routine ...) table`# * the parentheses in type expressions like `vector (routine ...) table[256]`
* the need for `forward` in forward references in source of `copy` instruction * the `forward` keyword in forward references in source of `copy` instruction
* Fixed bug where `trash` was not marking the location as being virtually altered. * Fixed bug where `trash` was not marking the location as being virtually altered.
0.11 0.11

View File

@@ -39,10 +39,6 @@ Documentation
TODO TODO
---- ----
### `low` and `high` address operators
To turn `word` type into `byte`.
### Save registers on stack ### Save registers on stack
This preserves them, so that, semantically, they can be used later even though they 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... ### 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. * `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 * 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. * 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.) (Associate each pointer with the buffer it points into.)
* `static` pointers -- currently not possible because pointers must be zero-page, thus `@`, thus uninitialized. * `static` pointers -- currently not possible because pointers must be zero-page, thus `@`, thus uninitialized.