+
+ WORD p_tell,'TELL',fasm
+ ;; ( chars* n -- )
+ ;; Write n bytes from chars* to stdout
+ pushr rsi
+ pop rbx
+ pop rax
+ push 1
+ push rax
+ push rbx
+ DOFORTH sys_write
+ pop rax
+ popr rsi
+ next
+
+p_emit_buffer: dq 0
+
+ WORD p_emit,'EMIT',fasm
+ ;; ( c -- )
+ ;; Write byte to stdout
+ pushr rsi
+ pop rax
+ mov [p_emit_buffer],al
+ push 1
+ push p_emit_buffer
+ push 1
+ DOFORTH sys_write
+ pop rax
+ popr rsi
+ next
+
+ WORD p_nl,'NL',dovalue
+ ;; ( -- c )
+ ;; Pushes a newline character on the stack
+ dq 10
+
+ WORD p_sp,'SP',dovalue
+ ;; ( -- c )
+ ;; Pushes a space character on the stack
+ dq 10
+