mirror of
https://github.com/catseye/SixtyPical.git
synced 2024-12-01 16:50:09 +00:00
Prep for release of 0.5.
This commit is contained in:
parent
9235c6eacc
commit
41414b0a1f
@ -1,8 +1,8 @@
|
|||||||
History of SixtyPical
|
History of SixtyPical
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
0.5-PRE
|
0.5
|
||||||
-------
|
---
|
||||||
|
|
||||||
* Added `byte table` type locations and indexed addressing (`+ x`, `+ y`).
|
* Added `byte table` type locations and indexed addressing (`+ x`, `+ y`).
|
||||||
* Integer literals may be given in hexadecimal.
|
* Integer literals may be given in hexadecimal.
|
||||||
|
@ -13,8 +13,8 @@ and suchlike.
|
|||||||
|
|
||||||
It is a **work in progress**, currently at the **proof-of-concept** stage.
|
It is a **work in progress**, currently at the **proof-of-concept** stage.
|
||||||
|
|
||||||
The current released version of SixtyPical is 0.4. The current development
|
The current released version of SixtyPical is 0.5. The current development
|
||||||
version of SixtyPical, unreleased as of this writing, is 0.5-PRE.
|
version of SixtyPical, unreleased as of this writing, is 0.6-PRE.
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
-------------
|
-------------
|
||||||
@ -31,21 +31,23 @@ Documentation
|
|||||||
TODO
|
TODO
|
||||||
----
|
----
|
||||||
|
|
||||||
For 0.5:
|
|
||||||
|
|
||||||
For 0.6:
|
For 0.6:
|
||||||
|
|
||||||
* `interrupt` routines.
|
* `interrupt` routines.
|
||||||
* `vector` type.
|
* `vector` type.
|
||||||
|
* `with sei` blocks.
|
||||||
|
* `copy` instruction.
|
||||||
|
* A more involved demo for the C64 — one that sets up an interrupt.
|
||||||
|
|
||||||
For 0.7:
|
For 0.7:
|
||||||
|
|
||||||
* `word` type.
|
* `word` type.
|
||||||
* `copy` instruction.
|
|
||||||
* `trash` instruction.
|
* `trash` instruction.
|
||||||
|
* indirect addressing.
|
||||||
|
|
||||||
For 0.8:
|
At some point...
|
||||||
|
|
||||||
* add line number (or at least routine name) to error messages.
|
* add line number (or at least routine name) to error messages.
|
||||||
* 6502-mnemonic aliases (`sec`, `clc`)
|
* 6502-mnemonic aliases (`sec`, `clc`)
|
||||||
* other handy aliases (`eq` for `z`, etc.)
|
* other handy aliases (`eq` for `z`, etc.)
|
||||||
|
* add absolute addressing in shl/shr, absolute-indexed for add, sub, etc.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
SixtyPical
|
SixtyPical
|
||||||
==========
|
==========
|
||||||
|
|
||||||
This document describes the SixtyPical programming language version 0.5-PRE,
|
This document describes the SixtyPical programming language version 0.5,
|
||||||
both its execution aspect and its static analysis aspect (even though
|
both its execution aspect and its static analysis aspect (even though
|
||||||
these are, technically speaking, separate concepts.)
|
these are, technically speaking, separate concepts.)
|
||||||
|
|
||||||
@ -14,10 +14,11 @@ the language.
|
|||||||
Types
|
Types
|
||||||
-----
|
-----
|
||||||
|
|
||||||
There are two TYPES in SixtyPical:
|
There are three TYPES in SixtyPical:
|
||||||
|
|
||||||
* bit (2 possible values)
|
* bit (2 possible values)
|
||||||
* byte (256 possible values)
|
* byte (256 possible values)
|
||||||
|
* byte table (256 entries, each holding a byte)
|
||||||
|
|
||||||
Memory locations
|
Memory locations
|
||||||
----------------
|
----------------
|
||||||
@ -121,7 +122,7 @@ Instructions
|
|||||||
|
|
||||||
### ld ###
|
### ld ###
|
||||||
|
|
||||||
ld <dest-memory-location>, <src-memory-location>
|
ld <dest-memory-location>, <src-memory-location> [+ <index-memory-location>]
|
||||||
|
|
||||||
Reads from src and writes to dest.
|
Reads from src and writes to dest.
|
||||||
|
|
||||||
@ -135,12 +136,14 @@ After execution, dest is considered initialized. The flags `z` and `n` may be
|
|||||||
changed by this instruction; they must be named in the WRITES lists, and they
|
changed by this instruction; they must be named in the WRITES lists, and they
|
||||||
are considered initialized after it has executed.
|
are considered initialized after it has executed.
|
||||||
|
|
||||||
|
If and only if src is a byte table, the index-memory-location must be given.
|
||||||
|
|
||||||
Some combinations, such as `ld x, y`, are illegal because they do not map to
|
Some combinations, such as `ld x, y`, are illegal because they do not map to
|
||||||
underlying opcodes.
|
underlying opcodes.
|
||||||
|
|
||||||
### st ###
|
### st ###
|
||||||
|
|
||||||
st <src-memory-location>, <dest-memory-location>
|
st <src-memory-location>, <dest-memory-location> [+ <index-memory-location>]
|
||||||
|
|
||||||
Reads from src and writes to dest.
|
Reads from src and writes to dest.
|
||||||
|
|
||||||
@ -153,6 +156,8 @@ Reads from src and writes to dest.
|
|||||||
After execution, dest is considered initialized. No flags are
|
After execution, dest is considered initialized. No flags are
|
||||||
changed by this instruction (unless of course dest is a flag.)
|
changed by this instruction (unless of course dest is a flag.)
|
||||||
|
|
||||||
|
If and only if dest is a byte table, the index-memory-location must be given.
|
||||||
|
|
||||||
### add dest, src ###
|
### add dest, src ###
|
||||||
|
|
||||||
add <dest-memory-location>, <src-memory-location>
|
add <dest-memory-location>, <src-memory-location>
|
||||||
|
Loading…
Reference in New Issue
Block a user