sd:star_forth_dictionary
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| sd:star_forth_dictionary [2026/04/14 06:09] – external edit (Unknown date) 127.0.0.1 | sd:star_forth_dictionary [2026/04/26 08:57] (current) – appledog | ||
|---|---|---|---|
| Line 25: | Line 25: | ||
| 5 . ( this prints 5. ) | 5 . ( this prints 5. ) | ||
| 1 1 + . ( this prints 2. ) | 1 1 + . ( this prints 2. ) | ||
| + | |||
| + | == DOW | ||
| + | DOW ( -- n ) Day of week 0=Sun 6=Sat | ||
| + | |||
| + | Pushes day of week to stack. | ||
| == DUP | == DUP | ||
| Line 34: | Line 39: | ||
| 1 2 3 3 | 1 2 3 3 | ||
| + | |||
| + | == 2DUP | ||
| + | : 2DUP OVER OVER ; | ||
| + | |||
| + | This duplicates the top 2 items on the stack. If the stack holds '' | ||
| + | |||
| + | == DROP | ||
| + | Drops the TOS. If the stack is '' | ||
| + | |||
| + | == 2DROP | ||
| + | : 2DROP DROP DROP ; | ||
| + | |||
| + | This command drops twice. If the stack is '' | ||
| + | |||
| + | == EVALUATE | ||
| + | Like EVALUATE from ANS Forth. | ||
| + | |||
| + | Experimental command. | ||
| + | |||
| + | Also see: INCLUDE | ||
| + | |||
| + | == FORGET | ||
| + | If you forget a word, then it (and any word defined after it) is unlinked from the dictionary. So if you define three words and FORGET the second one, the third one is also forgotten. | ||
| + | |||
| + | == INCLUDE | ||
| + | INCLUDE command. Experimental. | ||
| + | |||
| + | Also see: EVALUATE | ||
| + | |||
| + | == LEAVE | ||
| + | LEAVE ( -- ) Exit DO loop immediately | ||
| + | |||
| + | == LROT | ||
| + | Bitwise left rotate. | ||
| + | |||
| + | Also see: RROT, LSHIFT, RSHIFT | ||
| + | |||
| + | == LSHIFT | ||
| + | Bitwise shift left. | ||
| + | |||
| + | Also see: LROT, RROT, RSHIFT | ||
| + | |||
| + | == MAX | ||
| + | : MAX 2DUP < IF SWAP THEN DROP ; | ||
| + | |||
| + | A nice command. It does 2DUP then picks the highest number. How it works is easy; if the TOS is greater than the 2nd one down, it swaps them and drops the low one. Otherwise it drops TOS (because it's smaller). Note that the IF consumes the original numbers, so the only number left is the MAX one. | ||
| + | |||
| + | stack: | ||
| + | step1: | ||
| + | step2: | ||
| + | step3: | ||
| + | step4: | ||
| + | |||
| + | == MIN | ||
| + | : MIN 2DUP > IF SWAP THEN DROP ; | ||
| + | |||
| + | MIN is the opposite of MAX. The difference is that the comparator ('>' | ||
| + | |||
| + | == MS | ||
| + | MS ( -- n ) Milliseconds 0-999 | ||
| + | |||
| + | Timer function. | ||
| == .N (dotn) | == .N (dotn) | ||
| This is the print command, like . (dot) but it does not print a space after numbers. | This is the print command, like . (dot) but it does not print a space after numbers. | ||
| + | |||
| + | == NIP | ||
| + | : NIP SWAP DROP ; | ||
| + | |||
| + | This command drops the element under the top of stack. if the stack is '' | ||
| + | |||
| + | == PERF | ||
| + | PERF ( -- n ) Performance timer (ms since page load) | ||
| + | |||
| + | PERF pushes the ms since system start onto the stack. Should be accurate to at least 1ms. | ||
| + | |||
| + | Also see: MS, TIME& | ||
| + | |||
| + | == RROT | ||
| + | Bitwise rotate right. | ||
| + | |||
| + | Also see: LROT, LSHIFT, RSHIFT | ||
| + | |||
| + | == RSHIFT | ||
| + | Bitwise shift right. | ||
| + | |||
| + | Also see: LROT, RROT, LSHIFT | ||
| + | |||
| + | |||
| + | == TIME& | ||
| + | TIME& | ||
| + | |||
| + | Pushes the time and date to the stack. Useful! | ||
| + | |||
| + | Also see: DOW, MS, PERF | ||
| + | |||
| + | |||
| + | |||
| ----- | ----- | ||
| //More coming soon!// | //More coming soon!// | ||
sd/star_forth_dictionary.1776146946.txt.gz · Last modified: by 127.0.0.1
