git @ Cat's Eye Technologies SixtyPical / master eg / rudiments / vector-table.60p
master

Tree @master (Download .tar.gz)

vector-table.60p @masterraw · history · blame

// Should print AABAB

// Demonstrates vector tables.

include "chrout.60p"

vector routine
  trashes a, z, n
    print

vector (routine
  trashes a, z, n)
    table[32] vectors

define printa routine
  trashes a, z, n
{
    ld a, 65
    call chrout
}

define printb routine
  trashes a, z, n
{
    ld a, 66
    call chrout
}

define main routine
  inputs vectors
  outputs vectors
  trashes print, a, x, z, n, c
{
    ld x, 0
    copy printa, vectors + x
    inc x
    copy printa, print
    copy print, vectors + x
    inc x
    copy printb, print
    copy print, vectors + x
    inc x
    copy printa, vectors + x
    inc x
    copy printb, vectors + x

    ld x, 0
    for x up to 4 {
        copy vectors + x, print
        call print
    }
}