X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=rrqforth.asm;h=ecea1171612a82f840f91d82ce44931432805576;hb=a3427c86d68cc40ac6f9ed1bd153bb45f0456b55;hp=ab4fd997cb32f85c2b1c767ea5945347ab369449;hpb=7401a81fed816c03935c7a922a76d74dd81f6695;p=rrq%2Frrqforth.git diff --git a/rrqforth.asm b/rrqforth.asm index ab4fd99..ecea117 100644 --- a/rrqforth.asm +++ b/rrqforth.asm @@ -73,6 +73,13 @@ dostring: pushpname rax next + WORD p_calltrace,'calltrace',dovalue + ;; Common call point for debugging + ;; rax = cfa of called word + ;; rsi = cell* of next forth word + ;; [$rsp] = from where the call was + ret + include 'syscalls.asm' ;;; ======================================== @@ -192,7 +199,7 @@ main: ;; followed by the argument pointers. mov qword [p_args_DFA],rsp jmp p_quit_DFA ; QUIT - + ;;; This word is also the last word before syscalls last_forth_word: WORD p_quit,'QUIT',fasm @@ -214,8 +221,6 @@ p_quit_INITIALIZED: dq p_program_version dq p_tell dq p_stdin - dq p_clear_stream - dq p_stdin dq p_evaluate_stream BRANCH 0,p_quit_ERROR dq p_false