summaryrefslogtreecommitdiff
path: root/programs/forg.s
diff options
context:
space:
mode:
Diffstat (limited to 'programs/forg.s')
-rw-r--r--programs/forg.s17
1 files changed, 17 insertions, 0 deletions
diff --git a/programs/forg.s b/programs/forg.s
new file mode 100644
index 0000000..3e6aea1
--- /dev/null
+++ b/programs/forg.s
@@ -0,0 +1,17 @@
+forg:
+ iny ; Increment offset.
+ lda buf, y
+ jsr iswhite
+ bcs forg ; Reset y, if we hit the null terminator.
+ cmp #$2E ; Is this character a '.'?
+ bne forg_exit ; No, so return.
+ sty org ; Yes, so store the origin.
+forg_end:
+ iny ; Increment offset.
+ lda buf, y
+ jsr istoken
+ bcs forg_end
+ dey
+ sty scr_col
+forg_exit:
+ rts ; End of forg.