upgrade
[rrq/rrqforth.git] / stdio.asm
index 99bac9eb290532001312dcf7fb3db975de493c49..45a25f6f5dcc1d769ed5c260e4ffac4ed56008c6 100644 (file)
--- a/stdio.asm
+++ b/stdio.asm
@@ -147,6 +147,27 @@ p_stream_nchars_done:
        popr rsi
        next
 
+;;; ========================================
+;;; Copy line to PAD
+;;; READ-STREAM-LINE ( stream -- n )
+       
+       WORD p_read_stream_line,'READ-STREAM-LINE'
+       ;; ( stream -- n )
+       ;; Read stream until next newline
+       dq p_gtR, p_pad
+p_read_stream_line_loop:
+       dq p_Rget, p_read_stream_char
+       dq p_dup, p_0less
+       BRANCH 1,p_read_stream_line_done
+       dq p_dup, p_nl, p_equal
+       BRANCH 1,p_read_stream_line_done
+       dq p_over, p_Cput, p_literal,1, p_plus
+       BRANCH ,p_read_stream_line_loop
+p_read_stream_line_done:
+       dq p_drop, p_literal,0, p_over, p_Cput
+       dq p_pad, p_minus, p_Rgt, p_drop, p_return
+
+       
 ;;; ========================================
 ;;; Stream reading
 ;;; READ-STREAM-CHAR ( stream -- ch )