From 11162298675b71225117d4287245821a9d4345e1 Mon Sep 17 00:00:00 2001 From: Chris Pressey Date: Thu, 8 Feb 2018 15:05:37 +0000 Subject: [PATCH] Clean up example programs a little bit. --- eg/new-style-routine.60p | 22 +++++++++++++++++ eg/vector-table.60p | 16 ++++++------- eg/vector-table2.60p | 51 ---------------------------------------- 3 files changed, 30 insertions(+), 59 deletions(-) create mode 100644 eg/new-style-routine.60p delete mode 100644 eg/vector-table2.60p diff --git a/eg/new-style-routine.60p b/eg/new-style-routine.60p new file mode 100644 index 0000000..1b58c9b --- /dev/null +++ b/eg/new-style-routine.60p @@ -0,0 +1,22 @@ +// SixtyPical 0.11 introduced a new syntax for defining routines +// (routine was made into a type, and you can now say: define name type.) + +typedef routine + inputs x + outputs x + trashes z, n + routine_type + +vector routine_type vec + +define foo routine_type +{ + inc x +} + +define main routine + outputs vec + trashes a, z, n +{ + copy foo, vec +} diff --git a/eg/vector-table.60p b/eg/vector-table.60p index efd16ca..d1fd0d0 100644 --- a/eg/vector-table.60p +++ b/eg/vector-table.60p @@ -1,3 +1,8 @@ +// +// Demonstrates vector tables. +// Prints "AABAB". +// + vector routine trashes a, z, n print @@ -31,8 +36,7 @@ routine main trashes print, a, x, z, n, c { ld x, 0 - copy printa, print - copy print, vectors + x + copy printa, vectors + x inc x copy printa, print copy print, vectors + x @@ -40,13 +44,9 @@ routine main copy printb, print copy print, vectors + x inc x - copy printa, print - copy print, vectors + x + copy printa, vectors + x inc x - copy printb, print - copy print, vectors + x - - copy printa, print + copy printb, vectors + x ld x, 0 repeat { diff --git a/eg/vector-table2.60p b/eg/vector-table2.60p deleted file mode 100644 index e517e59..0000000 --- a/eg/vector-table2.60p +++ /dev/null @@ -1,51 +0,0 @@ -vector routine - trashes a, z, n - print - -vector (routine - trashes a, z, n) - table[32] vectors - -routine chrout - inputs a - trashes a - @ 65490 - -routine printa - trashes a, z, n -{ - ld a, 65 - call chrout -} - -routine printb - trashes a, z, n -{ - ld a, 66 - call chrout -} - -routine main - inputs vectors - outputs vectors - trashes print, a, x, z, n, c -{ - ld x, 0 - copy printa, vectors + x - inc x - copy printa, vectors + x - inc x - copy printb, vectors + x - inc x - copy printa, vectors + x - inc x - copy printb, vectors + x - - ld x, 0 - repeat { - copy vectors + x, print - call print - inc x - cmp x, 5 - } until z -}