X-Git-Url: http://git.subgeniuskitty.com/vvhitespace/.git/blobdiff_plain/8fc485d739c55bf179379882747e5940071dca31..6a0f845cfaf0795c2898781e795267f4b07a3051:/stdlib/README.md diff --git a/stdlib/README.md b/stdlib/README.md index e455d3c..9119b75 100644 --- a/stdlib/README.md +++ b/stdlib/README.md @@ -78,9 +78,6 @@ to use the function. # Resource Reservations # -Since all labels share a global namespace, the standard library makes the -following reservations: - ## Entry Points ## @@ -98,6 +95,7 @@ header comment for each function to learn the call and return stack. 10000 ----- random (math.pvvs) 10001 ----- absolute value (math.pvvs) 10010 ----- greatest common divisor (math.pvvs) + 10011 ----- fastrand (math.pvvs) 011xxx - heap functions 11000 ----- memset (heap.pvvs) 11001 ----- memcpy (heap.pvvs) @@ -139,6 +137,9 @@ header comment for each function to learn the call and return stack. ## Labels ## +Since all labels share a global namespace, the standard library makes the +following reservations: + 00000000 0xxxxxxx - reserved for stdlib function entry points 00000000 1xxxxxxx - available for use in user programs 0xxxxxxx xxxxxxxx - reserved for private use by stdlib @@ -166,12 +167,10 @@ Be cautious when pushing constants in your code for use as bit arrays. Due to the mismatch between the VVhitespace language's sign-magnitude representation of integers and the interpreter's internal twos-complement representation, bit arrays with a leading `1` (i.e. negative numbers) may appear quite different -then expected in your source code. +than expected in your source code. For example, to push a 64-bit array of all `1`'s on to the stack we must push -`SSTTN`, or `-1`, not -`SSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTN`, or -`2^65-1`. +`SSTTN`, or `-1`. ## Extending Heap Reservation ##