mirror of
https://github.com/mcanlas/6502-opcodes.git
synced 2024-06-16 23:29:30 +00:00
Compare commits
4 Commits
f7d0d03416
...
29efb32781
Author | SHA1 | Date | |
---|---|---|---|
|
29efb32781 | ||
|
a3d8513612 | ||
|
ae459a3334 | ||
|
bf67f5fc29 |
7
TODO.md
7
TODO.md
|
@ -1,5 +1,8 @@
|
||||||
- it would be cool for the generated code writer to go to files
|
- normalize A, X, Y, ZP, and GP to "registers", allocated by an allocator
|
||||||
- and make the +1 methods optional (for when it is at max)
|
- X and Y are also index registers, so slightly special
|
||||||
|
- unit test: what if a for loop is three deep? the outermost loop must be a memory register
|
||||||
|
- it would be cool for the 22-tuple Scala code generator code writer to go to files
|
||||||
|
- and make the +1 methods optional (for when it is at max == 22)
|
||||||
- the payload/`xs` of a program should be an ADT of either chunks or one instruction
|
- the payload/`xs` of a program should be an ADT of either chunks or one instruction
|
||||||
- where a chunk is just many instructions
|
- where a chunk is just many instructions
|
||||||
- and an instruction already has the value X with its encoder, but chooses an eternal mode
|
- and an instruction already has the value X with its encoder, but chooses an eternal mode
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
package com.htmlism.firepower.core
|
||||||
|
|
||||||
|
import weaver.FunSuite
|
||||||
|
|
||||||
|
object RegisterAllocatorSuite extends FunSuite:
|
||||||
|
test("cam allocate registers"):
|
||||||
|
expect.eql("TODO", "TODO")
|
||||||
|
|
||||||
|
test("A register can be allocated to a single byte width"):
|
||||||
|
expect.eql("TODO", "TODO")
|
||||||
|
|
||||||
|
test("Allocates CPU registers first, then zero page, then global"):
|
||||||
|
expect.eql("TODO", "TODO")
|
||||||
|
|
||||||
|
test("A single-byte register can specifically be an index register"):
|
||||||
|
expect.eql("TODO", "TODO")
|
||||||
|
|
||||||
|
test("A register can be allocated to a two-byte width, always a memory register"):
|
||||||
|
expect.eql("TODO", "TODO")
|
Loading…
Reference in New Issue
Block a user