9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: maht <mattmobile@proweb.co.uk>
To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>
Subject: Re: [9fans] Google search of the day
Date: Fri, 15 Feb 2008 19:05:28 +0000	[thread overview]
Message-ID: <47B5E278.7030107@proweb.co.uk> (raw)
In-Reply-To: <op.t6kt0pbyc6yvfe@computer>

Forth doesn't use CALL it uses JMP

Similar Threaded Interpretive Languages run an inner loop that does this
pseudo code :
(from Threaded Interpretive Languages: Their Design and Implementation
by R. G. Loeliger)

COLON:
    PSH I -> RS
    WA -> I
    JMP NEXT
SEMI:
    POP RS -> I
NEXT:
    @I -> WA
    I += 2
RUN:
    @WA -> CA
    WA += 2
    CA -> PC

RS is the stack PC is the program counter, procedures JMP to NEXT or
SEMI when they are done
I is the indirection pointer, WA is the word address (the nomenclature
for procedure)
The 2s are there because this code assumes 16bit addressing, @ is
indirection
CA is the call address

so DUP is a word defined as (it copies the item on the top of the stack
back to the top of the stack
execute is a type marker, you can also have constant & colon

dup:
    execute
    POP SP -> A
    PUSH A -> SP
     PUSH A -> SP
   JMP NEXT


that's all very well but you then extend the assembler parts with new
words made from the WAs  (colon is the type marker for this) SEMI is
where it JMPs to at the end

moddiv:
    colon
    divmod
    swop
    semi



I wrote a TIL in AVR assembler last summer but I've waiting to go on
holiday this year so I can write some applications in it now I have a
dev board :>





  reply	other threads:[~2008-02-15 19:05 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-13 22:03 [9fans] quote " erik quanstrom
2008-02-13 23:08 ` Pietro Gagliardi
2008-02-13 23:24 ` [9fans] Google search " dave.l
2008-02-13 23:31   ` Pietro Gagliardi
2008-02-13 23:41     ` erik quanstrom
2008-02-13 23:49       ` Pietro Gagliardi
2008-02-13 23:59     ` john
2008-02-14  0:04       ` Pietro Gagliardi
2008-02-14  6:11         ` Anant Narayanan
2008-02-15 17:39         ` Skip Tavakkolian
2008-02-14 16:45       ` Douglas A. Gwyn
2008-02-14 17:09         ` john
2008-02-14 17:27           ` erik quanstrom
2008-02-15  9:50             ` Douglas A. Gwyn
2008-02-15 11:49               ` Alf
2008-02-15 13:15               ` erik quanstrom
2008-02-15 14:56                 ` Brantley Coile
2008-02-15 15:44                   ` Eris Discordia
2008-02-15 16:07                     ` erik quanstrom
2008-02-15 16:43                       ` maht
2008-02-15 17:35                         ` ron minnich
2008-02-15 18:14                           ` Iruata Souza
2008-02-15 18:37                           ` maht
2008-02-15 17:39                       ` Eris Discordia
2008-02-15 19:05                         ` maht [this message]
2008-02-15 20:11                           ` Eris Discordia
2008-02-15 20:18                             ` Pietro Gagliardi
2008-02-15 20:49                             ` maht
2008-02-16 23:32                               ` Eris Discordia
2008-02-15 23:37                         ` [9fans] Non-stack-based calling conventions Lyndon Nerenberg
2008-02-15 23:39                           ` Pietro Gagliardi
2008-02-15 23:47                             ` Paweł Lasek
2008-02-16  0:23                               ` Brantley Coile
2008-02-16 23:32                                 ` Eris Discordia
2008-02-16 23:41                                   ` Pietro Gagliardi
2008-02-16 23:49                                   ` Brantley Coile
2008-02-17  0:04                                   ` Brantley Coile
2008-02-17 13:30                                     ` Eris Discordia
2008-02-17 15:04                                       ` erik quanstrom
2008-02-17 21:43                                         ` Uriel
2008-02-17 23:58                                           ` erik quanstrom
2008-02-18  1:54                                             ` Bruce Ellis
2008-02-18  3:43                                               ` erik quanstrom
2008-02-18  4:31                                                 ` Bruce Ellis
2008-02-18  4:40                                                   ` Pietro Gagliardi
2008-02-18  6:22                                               ` Robert William Fuller
2008-02-18  7:23                                                 ` Bruce Ellis
2008-02-18  8:38                                                   ` Anant Narayanan
2008-02-22 10:02                                                     ` Douglas A. Gwyn
2008-02-22 19:35                                                       ` Anant Narayanan
2008-02-18  8:30                                                 ` Anant Narayanan
2008-02-18  8:44                                                   ` Bruce Ellis
2008-02-18 18:50                                                 ` Federico G. Benavento
2008-02-18 21:53                                                   ` Lorenzo Fernando Bivens de la Fuente
2008-02-18 22:55                                                     ` y i y u s
2008-02-18 23:46                                                       ` Uriel
2008-02-18 22:14                                                   ` Pietro Gagliardi
2008-02-18 22:16                                                     ` Pietro Gagliardi
2008-02-18 22:32                                                       ` Federico G. Benavento
2008-02-20 11:39                                                   ` maht
2008-02-20 17:19                                                     ` Bruce Ellis
2008-02-22 10:02                                                     ` Douglas A. Gwyn
2008-02-22 10:02                                                   ` Douglas A. Gwyn
2008-02-18 22:13                                                 ` LiteStar numnums
2008-02-18  4:44                                             ` Pietro Gagliardi
2008-02-18  4:46                                               ` Pietro Gagliardi
2008-02-18  5:03                                                 ` Uriel
2008-02-17 16:08                                       ` Anthony Sorace
2008-02-17 22:03                                         ` Charles Forsyth
2008-02-22 10:01                                       ` Douglas A. Gwyn
2008-02-22 14:07                                         ` Iruata Souza
2008-02-22 10:01                                     ` Douglas A. Gwyn
2008-02-22 10:01                                 ` Douglas A. Gwyn
2008-02-16  8:29                               ` Lluís Batlle
2008-02-17 23:09                                 ` Chad Dougherty
2008-02-18 21:50                                 ` Pietro Gagliardi
2008-02-22 10:02                                 ` Douglas A. Gwyn
2008-02-26 21:30                               ` Paweł Lasek
2008-02-26 22:00                                 ` maht
2008-02-26 22:32                                   ` Brantley Coile
2008-02-26 23:15                                     ` Uriel
2008-02-26 22:33                                   ` Brantley Coile
2008-02-26 22:46                                     ` Bruce Ellis
2008-02-27  4:26                                 ` lucio
2008-02-27  6:52                                   ` ron minnich
2008-02-27 17:57                                     ` lucio
2008-02-28  9:33                                     ` Bill Gunshannon
2008-02-28  9:58                                       ` Charles Forsyth
2008-02-28 14:15                                       ` Bill Gunshannon
2008-02-14 17:14         ` [9fans] Google search of the day Eris Discordia
2008-02-14 17:28           ` Fco. J. Ballesteros
2008-02-14 20:14             ` Eris Discordia
2008-02-14 20:30               ` Patrick Kristiansen
2008-02-14 20:38                 ` Eris Discordia
2008-02-14 22:09                   ` Pietro Gagliardi
2008-02-15  9:00                     ` Eris Discordia
2008-02-14 17:51           ` Iruata Souza
2008-02-15  9:31             ` sqweek
2008-02-18  9:48               ` Douglas A. Gwyn
2008-02-18  9:57                 ` Gorka Guardiola
2008-02-19  9:17                 ` sqweek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47B5E278.7030107@proweb.co.uk \
    --to=mattmobile@proweb.co.uk \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).