git @ Cat's Eye Technologies SixtyPical / a73f6e1
Update HISTORY and README. Chris Pressey 3 years ago
2 changed file(s) with 19 addition(s) and 15 deletion(s). Raw diff Collapse all Expand all
33 0.16
44 ----
55
6 * Removed `--prelude` in favour of specifying both format and prelude
7 with a single option, `--output-format`. Documentation for same.
8 * `or a, z`, `and a, z`, and `eor a, z` compile to zero-page operations
9 if the address of z < 256.
6 * Added `save` block, which allows the named locations to be modified
7 arbitrarily inside the block, and automatically restored at the end.
108 * More thorough tests and justifications written for the case of
119 assigning a routine to a vector with a "wider" type.
1210 * Support for `copy [ptra]+y, [ptrb]+y` to indirect LDA indirect STA.
1412 * Support for `I a, btable + x` where `I` is `add`, `sub`, `cmp`,
1513 `and`, `or`, or `xor`
1614 * Support for `I btable + x` where `I` is `shl`, `shr`, `inc`, `dec`
15 * `or a, z`, `and a, z`, and `eor a, z` compile to zero-page operations
16 if the address of z < 256.
17 * Removed `--prelude` in favour of specifying both format and prelude
18 with a single option, `--output-format`. Documentation for same.
1719
1820 0.15
1921 ----
8686 It might make more sense, then, for it to be "part of the operation" instead of "part of
8787 the reference"; something like `st.hi x, word`; `st.lo y, word`. Dunno.
8888
89 ### Save values
89 ### Save multiple values in single block
9090
91 This preserves them, so that, semantically, they can be used later even though they
92 are trashed (or otherwise alternately used) inside the block.
93
94 Inside the block, we set them as writeable (but not meaningful). When the block
95 exits, we restore whatever status they had.
96
97 This act will trash `a`, both in the block, and outside it, unless the value being
98 saved is `a`. One idiom would be something like
91 As a shortcut for the idiom
9992
10093 save a { save var {
10194 ...
10295 } }
10396
104 which would save all values. Maybe abbreviate this to
97 allow
10598
10699 save a, var {
107100 ...
108101 }
109102
110 This can use the stack. But it need not use the stack.
103 ### Save values to other-than-the-stack
104
105 Allow
106
107 save a to temp_a {
108 ...
109 }
110
111 Which uses some other storage location instead of the stack. A local static
112 would be a good candidate for such.
111113
112114 ### Make all symbols forward-referencable
113115