git @ Cat's Eye Technologies SixtyPical / master eg / rudiments / buffer.60p
master

Tree @master (Download .tar.gz)

buffer.60p @masterraw · history · blame

// Should print Y

include "chrout.60p"

byte table[2048] buf
pointer ptr @ 254
byte foo

define main routine
  inputs buf
  outputs buf, y, foo
  trashes a, z, n, c, ptr
{
    ld y, 0
    point ptr into buf {
        reset ptr 0
        copy 123, [ptr] + y
        copy [ptr] + y, foo
        copy foo, [ptr] + y
    }

    // TODO: support saying `cmp foo, 123`, maybe
    ld a, foo
    cmp a, 123

    if z {
        ld a, 89
        call chrout
    } else {
        ld a, 78
        call chrout
    }
}