From 53f50810894e81457a75348b0565b4281d4762b4 Mon Sep 17 00:00:00 2001 From: Ralph Ronnquist Date: Sun, 13 Jun 2021 14:03:21 +1000 Subject: [PATCH] upgrade --- reference.html | 49 +++++++++++++++++++++++++++++++++++++++++-------- rrqforth | Bin 2151837 -> 2151848 bytes 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/reference.html b/reference.html index 9cb4b59..7da9aa8 100644 --- a/reference.html +++ b/reference.html @@ -786,7 +786,8 @@ asciidoc.install(); >R   R@   R>   -R[n]  

+R[n]   +D[n]  

DATA-STACK   RETURN-STACK     @@ -864,6 +865,7 @@ asciidoc.install(); PROGRAM_VERSION  

QUIT  

READ-STREAM-CHAR   +READ-STREAM-LINE   READ-WORD   REALLOC   RETURN   @@ -1194,6 +1196,19 @@ also is incremented accordingly.

_______________________________________________________
+

+ +
+

Word: D[n]

+
+
+
Data stack: ( n -- a )
+
+

"D[n]" is a function word that pushes the address for the n:th cell of +the data stack onto the data stack.

+
+_______________________________________________________ +

@@ -1396,7 +1411,8 @@ _______________________________________________________

"ARGS" is a value word that holds a pointer to the command line data block which consists of a count cell followed by that many asciiz -pointers and then a 0 cell.

+pointers and then a 0 cell. That is next followed by the environment +as a number of asciiz pointers and a 0 cell.

@@ -1404,9 +1420,10 @@ pointers and then a 0 cell.

ARGS -> 8 bytes: count of non-zero asciiz pointers following
         8 bytes: command name string
-        8 bytes: first argument string
-        8* ...
-        8 zero
+ 8* bytes: argument strings + 8 bytes: zero cell + 8* bytes: envirnment strings + 8 bytes: zero cell
@@ -3038,8 +3055,8 @@ _______________________________________________________
Data stack: ( n -- a )
-

"R[n]" is a function word that pushes the address for the n:th cell on -the top return stack value onto the data stack.

+

"R[n]" is a function word that pushes the address for the n:th cell of +the return stack onto the data stack.

@@ -3069,6 +3086,22 @@ instead.

_______________________________________________________
+

+
+
+

Word: READ-STREAM-LINE

+
+
+
Data stack: ( stream -- n )
+
+

"READ-STREAM-LINE" is a function word that gets the next line from the +given stream buffer into PAD and returns number of characters. If the +stream is backed by a file descriptor, the stream buffer is refilled +from there as needed, by a SYS_READ call when more characters are +needed.

+
+_______________________________________________________ +

@@ -3830,7 +3863,7 @@ is deepest.

diff --git a/rrqforth b/rrqforth index 4a18d691cd0259c01dd2e639f3f1d5a35bdeab2d..9155a159520c3149b630e7317c44766b96b664a8 100755 GIT binary patch delta 14352 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
  • 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 B+3^4X -- 2.39.2