Commit Graph

125 Commits

Author SHA1 Message Date
Chris Pressey 5f8802b305 Arrange license info in repo to follow REUSE 3.0 convention. 2024-02-02 12:10:23 +00:00
Chris Pressey 2e2e80664e Forbid nested `with interrupts` blocks, and more refactoring. 2019-05-14 15:01:10 +01:00
Chris Pressey 3f666f4385 Add `reset` instruction; much refactoring. 2019-05-14 08:56:35 +01:00
Chris Pressey dd29b6fd4a Implement local locations that aren't statically initialized. 2019-05-13 12:32:18 +01:00
Chris Pressey c246424930 Fix bug raising InconsistentExitError, and type-bug in ribos2.60p. 2019-04-15 17:35:17 +01:00
Chris Pressey b19267d3ba Checkpoint import of changes for version 0.19. 2019-04-08 11:50:54 +01:00
Chris Pressey 75449d7271
Merge pull request #18 from catseye/more-modes-on-add-and-sub
More modes on add and sub
2018-12-12 15:13:26 +00:00
Chris Pressey 35a1053439 Support more modes on `add` and `sub`. 2018-12-12 10:34:25 +00:00
Chris Pressey 2803aa2d05 Add failing tests for `add` and `sub` on locations other than `a`. 2018-12-12 10:11:16 +00:00
Chris Pressey 69df175230 Merge branch 'develop-0.18' of https://github.com/catseye/SixtyPical into inconsistent-initialization 2018-12-12 09:58:26 +00:00
Chris Pressey 97e6e619ff `cmp` can compare against a literal word. 2018-12-12 09:01:46 +00:00
Chris Pressey 538365f1e1 Add one more test case, to demonstrate that it's not just output. 2018-12-11 22:42:59 +00:00
Chris Pressey d13c6a94a2 Drop the check for "consistent initialization" inside `if` blocks. 2018-12-11 19:27:40 +00:00
Chris Pressey 3a4c2e46c1 `inc` and `dec` on a known range usually keeps it known, now. 2018-12-11 17:35:01 +00:00
Chris Pressey bf3f1835ed Merge branch 'develop-0.18' of https://github.com/catseye/SixtyPical into goto-at-end-of-block 2018-11-29 17:47:48 +00:00
Chris Pressey d598b505e0 Add more tests. 2018-11-27 17:40:25 +00:00
Chris Pressey 3814d2624d Improve tests. 2018-11-27 17:26:58 +00:00
Chris Pressey 21e623f3ad Collect exit contexts. Disturbs fallthru analysis, but otherwise? 2018-11-27 16:59:16 +00:00
Chris Pressey 0c481845e9 Add failing test. 2018-11-27 14:52:59 +00:00
Chris Pressey 6dbce205d1 `goto` is no longer restricted to appearing in tail position. 2018-11-27 14:25:43 +00:00
Chris Pressey 9e9284bee5 `goto` may only occur at the end of a block. 2018-11-27 13:43:36 +00:00
Chris Pressey dcc944d732 If add and sub can work on words, then cmp can work on words too. 2018-11-23 23:00:41 +00:00
Chris Pressey e74c7f2b31 Initial attempt at 16-bit compare. Not super well tested yet. 2018-11-23 22:09:28 +00:00
Chris Pressey 92db4ac3f0 More tests for "for" loops. 2018-09-16 21:30:53 +01:00
Chris Pressey dd86015cd5 Add another test for `for`. There's another one I want to add too. 2018-09-16 18:45:09 +01:00
Chris Pressey 5e692446b8 Convert remainder of routine declarations in this file. 2018-09-07 22:49:39 +01:00
Chris Pressey da44e1b22e Many, many define main routine, define foo routine, etc. 2018-09-07 18:49:39 +01:00
Chris Pressey af0e1b41c7 Forward-reference resolution becomes increasingly general. 2018-09-07 13:40:41 +01:00
Chris Pressey e7674c44ce Confirm constraint on `save`ing `a`. 2018-09-07 11:33:24 +01:00
Chris Pressey b63bcfcd2b Begin introducing shortcut syntax for nested `save`s. 2018-09-07 09:36:51 +01:00
Chris Pressey 4bba75857f --output cmdline argument, serialize() returns an array of bytes. 2018-09-06 16:18:41 +01:00
Chris Pressey 3fd7e52bc7 Reduce number of errors under Python 3 another smidge. 2018-09-06 14:21:29 +01:00
Chris Pressey 9b1d71a73e Correct some text in the test suite. 2018-05-08 12:00:55 +01:00
Chris Pressey d037401b18 Add three tests. One fails when it shouldn't. 2018-04-25 15:55:36 +01:00
Chris Pressey 76ec7224cd Add failing tests for gotos inside runtime-context-making blocks. 2018-04-25 13:38:54 +01:00
Chris Pressey 4986454733 Support save'ing user-defined locations. 2018-04-25 13:27:47 +01:00
Chris Pressey 80c46485f1 Saving anything except `a` trashes `a`. 2018-04-25 13:06:11 +01:00
Chris Pressey 8df16d7a2a Another passing test which is a little surprising. 2018-04-20 14:35:41 +01:00
Chris Pressey 0f41857b39 Add two simple tests for save. Surprisingly, they both pass. 2018-04-20 13:36:08 +01:00
Chris Pressey 4d1f9d0f3c First cut at implementing `save`. Only the most basic tests though. 2018-04-19 13:18:52 +01:00
Chris Pressey 5fcbfa1d21 Analyze reads and updates of tables. 2018-04-18 15:45:47 +01:00
Chris Pressey 0c22944afc Able to parse, but not yet able to analyze, other table accesses. 2018-04-18 14:21:03 +01:00
Chris Pressey e565234d28 Support for `shl foo` and `shr foo` where `foo` is a byte storage. 2018-04-18 12:01:53 +01:00
Chris Pressey 3c7d95a724 Support for `copy [ptra]+y, [ptrb]+y` to indirect LDA indirect STA 2018-04-18 10:57:57 +01:00
Chris Pressey 4f28f43bde The existing analysis is actually sufficient. Document why this is. 2018-04-18 10:25:23 +01:00
Chris Pressey f9c3b56246 Work out routine-vector type compatibility, w/ one failing test. 2018-04-18 10:13:15 +01:00
Chris Pressey b9fb26320c Add some failing tests for looping on the `n` flag. 2018-03-29 13:33:06 +01:00
Chris Pressey 1f992f8dbd Support of NOP opcode. 2018-03-28 14:52:16 +01:00
Chris Pressey b91c3ed2f1 Add three more tests. Ensure they pass. 2018-03-26 17:40:43 +01:00
Chris Pressey ceaae962d5 Make tests pass. Add two more tests towards completeness of spec. 2018-03-26 12:48:57 +01:00