diff options
| -rw-r--r-- | jefs.fs | 13 | ||||
| -rw-r--r-- | jefs.s | 19 |
2 files changed, 13 insertions, 19 deletions
@@ -154,23 +154,16 @@ variable hld : .qword (.qword) say space ; : ? @ . ; -: .s sp 8 + ( skip sp itself ) begin dup s0 @ > while dup @ .qword 8 + repeat drop cr ; +: .s sp 8 + ( skip sp itself ) begin dup s0 @ >= while dup @ .qword 8 + repeat drop cr ; : bytes-allocated hend @ h0 @ - ; : bytes-used here @ h0 @ - ; : bytes-free bytes-allocated bytes-used - ; -\ there is some issue with ." that causes a segfault. strange -\ it seems to happen if multiple strings appear. -\ purrhaps something isn't being reset?? -\ it only seems to happen if the called word is a builtin or a number????? -\ : .free bytes-free u. ." of " bytes-allocated u. ." bytes free (used " bytes-used (.) say ." )" cr ; \ segfaults +: .free bytes-free u. ." of " bytes-allocated u. ." bytes free (used " bytes-used (.) say ." )" cr ; : >nfa ( lfa -- nfa ) 9 + ; : >ffa ( lfa -- ffa ) 8 + ; : (words) ( lfa -- ) >nfa dup w@ swap 2 + swap say 2 spaces ; : words latest @ begin ?dup 0<> while dup (words) @ repeat cr ; -\ .free bye -\ : t s" eue eu eo o eu" ; \ s" eue " [ HEREDUMP ] ; - -\ words +.free bye @@ -12,12 +12,12 @@ %macro pspop 1 mov %1, qword [r14] lea r14, [r14+8] - cmp r14, wstack - jle %%ok - mov qword [error], 1 - mov r8, qword [handler] - call r8 - %%ok: + ; cmp r14, wstack + ; jle %%ok + ; mov qword [error], 1 + ; mov r8, qword [handler] + ; call r8 + ; %%ok: %endmacro ;;; dictionary macros {{{ @@ -70,12 +70,13 @@ ;; }}} section .bss exec -wstack_b: resq 2047 -wstack: resq 2 umem: resb 0x9c400 umem_e: +wstack_b: resq 2047 +wstack: + section .text global _start _start: @@ -1121,7 +1122,7 @@ defvar "#tib", num_tib, 0, initlen defvar ">in", to_in, 0, 0 defvar "state", state, 0, interpreting defvar "here", here, 0, umem -defvar "s0", s0, 0, wstack +defvar "s0", s0, 0, wstack + 16 defvar "h0", h0, 0, umem ; beginning of user memory area defvar "hend", hend, 0, umem_e ; ending of user memory area defvar "base", base, 0, 10 |
