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

Tree @0.17 (Download .tar.gz)

vector-table.60p @0.17raw · history · blame

//
// Demonstrates vector tables.
// Prints "AABAB".
//

vector routine
  trashes a, z, n
    print

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

define chrout routine
  inputs a
  trashes a
  @ 65490

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
    repeat {
        copy vectors + x, print
        call print
        inc x
        cmp x, 5
    } until z
}