1
0
mirror of https://github.com/catseye/SixtyPical.git synced 2025-01-25 08:30:07 +00:00
SixtyPical/tests/SixtyPical Compilation.md
2015-10-17 15:46:28 +01:00

1.3 KiB

Sixtypical Compilation

This is a test suite, written in Falderal format, for compiling Sixtypical to 6502 machine code.

-> Functionality "Compile Sixtypical program" is implemented by
-> shell command "bin/sixtypical --compile %(test-body-file) | fa-bin-to-hex"

-> Tests for functionality "Compile Sixtypical program"

Null program.

| routine main
| {
| }
= 00c060

Rudimentary program.

| routine main
|   inputs a
|   outputs a
|   trashes c, z, n, v
| {
|     st off, c
|     add a, 4
| }
= 00c018690460

Call extern.

| routine chrout
|   inputs a
|   trashes a
|   @ 65490
| 
| routine main
|   inputs a
|   trashes a, z, n
| {
|     ld a, 65
|     call chrout
| }
= 00c0a94120d2ff60

Call defined routine.

| routine foo
|   outputs a, x, y
|   trashes z, n
| {
|   ld a, 0
|   ld x, 0
|   ld y, 0
| }
| 
| routine main
|   trashes a, x, y, z, n
| {
|     call foo
| }
= 00c02004c060a900a200a00060

Access a defined memory location.

| byte foo
| 
| routine main
|   trashes a, y, z, n, foo
| {
|     ld y, 0
|     st y, foo
|     ld a, foo
| }
= 00c0a0008c09c0ad09c060