summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkitty <nepeta@canaglie.net>2026-02-14 01:05:37 +1100
committerkitty <nepeta@canaglie.net>2026-02-14 01:05:37 +1100
commit8e533a658a6151c108220a9cc34b5f2c8af75819 (patch)
tree773822e34935085f4b4abc7a933ddf4cd16064bc
parentb325d804fd22a195005dd82a87d4ff883f5e6976 (diff)
it works???????????????
-rw-r--r--jefs.fs5
-rw-r--r--jefs.s18
2 files changed, 21 insertions, 2 deletions
diff --git a/jefs.fs b/jefs.fs
index a968821..3e206fa 100644
--- a/jefs.fs
+++ b/jefs.fs
@@ -1,2 +1,3 @@
-: syswrite 1 syscall3 ; \ aeu oeu eo ue
-bye
+: syswrite ( u c-addr fd -- n ) 1 syscall3 ;
+: say ( c-addr u -- ) swap 1 syswrite drop ;
+TESTSTR say bye
diff --git a/jefs.s b/jefs.s
index 6d48bd4..86893bd 100644
--- a/jefs.s
+++ b/jefs.s
@@ -559,6 +559,24 @@ defword "\", backslash, immediate_mask
mov qword [to_in], r13
ret
+defword "(", bracket, immediate_mask
+ mov r13, qword [to_in]
+ add r13, initfile
+ mov r12b, byte [r13]
+.loop:
+ cmp r12b, 0x29
+ je .done
+
+ inc r13
+ mov r12b, byte [r13]
+ jmp .loop
+
+.done:
+ inc r13
+ sub r13, initfile
+ mov qword [to_in], r13
+ ret
+
; TEMPORARY HORRIBLE DEBUGGING BULLSHIT {{{
; debugging word; outputs raw bytes so needs to be piped through `x(x)d`
; terrible and awful