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

Tree @0.19 (Download .tar.gz)

buffer.60p @0.19raw · history · blame

// Include `support/${PLATFORM}.60p` before this source
// Should print Y

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
    copy ^buf, ptr
    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
    }
}