Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #49514

Re: Forth coding style vs "Algol et al" coding style

From rickman <gnuarm@gmail.com>
Newsgroups comp.lang.forth
Subject Re: Forth coding style vs "Algol et al" coding style
Date 2016-07-25 23:13 -0400
Organization A noiseless patient Spider
Message-ID <nn6kh3$sa4$1@dont-email.me> (permalink)
References (4 earlier) <nlv1o0$8au$1@dont-email.me> <ea119550-f0a9-4e35-9e2b-4e2a36968101@googlegroups.com> <nm07sh$n94$2@dont-email.me> <9a73adb8-c83b-4ef1-b504-9507239577f3@googlegroups.com> <26ea96b4-07db-4dbe-89f9-935c3e8bae28@googlegroups.com>

Show all headers | View raw


On 7/25/2016 10:56 PM, foxaudioresearch@gmail.com wrote:
> On Monday, July 11, 2016 at 1:51:21 PM UTC-4, Mark Wills wrote:
>> On Monday, 11 July 2016 14:44:51 UTC+1, rickman  wrote:
>>> On 7/11/2016 4:59 AM, Mark Wills wrote:
>>>> On Monday, 11 July 2016 03:53:53 UTC+1, rickman  wrote:
>>>>> On 7/10/2016 6:00 PM, Mark Wills wrote:
>>>>>> On Sunday, 10 July 2016 16:50:08 UTC+1, foxaudio...@gmail.com  wrote:
>>>>>>> Sure have Mark. It's very nice.
>>>>>>>
>>>>>>> I am porting my cross compiler and my variation of camel Forth to Ti99. I always wanted TiForth to hold Tos is a register.
>>>>>>>
>>>>>>> The cycle count looks like it will be faster.
>>>>>>>
>>>>>>>
>>>>>>> Boy I like that TmS9900 instruction set better than x86.
>>>>>>>
>>>>>>> Just needs a stack pointer or 2 in Hardware.
>>>>>>>
>>>>>>> B
>>>>>>
>>>>>> Yes, the TMS9900 instruction set is by the nicest I've used on any processor
>>>>>> over the years. The 68K comes a close second for me :-)
>>>>>
>>>>> Funny, I still have a couple of TMS99x computers around here somewhere.
>>>>> One is a Technico 9900 single board computer that uses EPROMs.  Another
>>>>> is one I designed using a 9995 built with wire wrap.  I wanted to use
>>>>> the 9995 to control an IBM Selectric I got at a something-fest, but it
>>>>> was too worn out to print reliably.  Seems those mechanicals don't last
>>>>> forever.  Both CPU boards are sitting in my basement next to an old 8008
>>>>> multiple board computer.
>>>>>
>>>>> --
>>>>>
>>>>> Rick C
>>>>
>>>> The 9995s and (in-particular) the 9900s are getting quite valuable now. The
>>>> 9995 is a much simpler chip to work with. IIRC it needs no supporting chippery,
>>>> whereas the 9900 at least requires a 4-phase clock. Their register to memory
>>>> architecture is beautiful. If only they had a hardware stack! (Later variants
>>>> of the 99xx family did indeed have hardware stacks and a whole raft of
>>>> additional instructions).
>>>
>>> Why would you want a hardware stack?  That would be limited in size and
>>> likely function.  The 8008 predecessor to the 8080 has a small hardware
>>> stack.
>>>
>>> Or do you mean a dedicated stack pointer in the chip?
>>>
>>> --
>>>
>>> Rick C
>>
>> Yes, just a stack pointer, and MOV instructions to get push/pop.
>>
>> It's fairly simple to anyway. Suppose R0 is your stack pointer register:
>>
>> LI R0,$E000 - stack is at $E000
>>
>> to push data:
>> DECT R0 - decrement stack pointer by two (16 bit word i.e. two bytes)
>> MOV Rx,*R0 - move some register (Rx) to the memory addressed by R0
>>
>> to pop:
>> MOV *R0+,Rx  - move data at address addressed by R0 to Rx, and increase R0 by two
>
> I always feel cramped with the single level sub-routine call linked in R11.
> (Branch and link)
> Although it sucks up way too many cycles on these machines, I created a macros
> in Forth assembler that let me have what I want when I need it.
>
> \ PUSH & POP on both stacks
> : PUSH,         ( src -- )  SP DECT,  *SP   MOV, ;
> : POP,          ( dst -- )  *SP+      SWAP  MOV, ;
>
> : RPUSH,        ( src -- ) RP DECT,  *RP   MOV,  ;
> : RPOP,         ( dst -- ) *RP+      SWAP  MOV,  ;
>
> Then I extended branch & link.
>
> : CALL,         ( dst -- ) R11 RPUSH,  ( addr) BL,   R11 RPOP, ;
>
> And return remains the same:
> : RT   *R11 B, ;
>
> If only it was in hardware...

These days a TMS9900 processor could be done in an FPGA and run much 
faster than the original.  It could also look ahead at the instruction 
sequences you use and do them in a single instruction (even though it 
would still need to fetch it all to do the lookahead).  This could 
maintain machine code level compatibility and work much faster.

-- 

Rick C

Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Forth coding style vs "Algol et al" coding style foxaudioresearch@gmail.com - 2016-07-08 17:44 -0700
  Re: Forth coding style vs "Algol et al" coding style "WJ" <w_a_x_man@yahoo.com> - 2016-07-09 04:27 +0000
  Re: Forth coding style vs "Algol et al" coding style humptydumpty <ouatubi@gmail.com> - 2016-07-09 10:30 -0700
    Re: Forth coding style vs "Algol et al" coding style Julian Fondren <julian.fondren@gmail.com> - 2016-07-09 21:56 -0700
      Re: Forth coding style vs "Algol et al" coding style mhx@iae.nl - 2016-07-10 00:30 -0700
        Re: Forth coding style vs "Algol et al" coding style mhx@iae.nl - 2016-07-10 00:34 -0700
          Re: Forth coding style vs "Algol et al" coding style foxaudioresearch@gmail.com - 2016-07-10 09:10 -0700
      Re: Forth coding style vs "Algol et al" coding style endlessboomcapitalism@gmail.com - 2016-07-12 18:55 -0700
  Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-10 01:39 -0700
    Re: Forth coding style vs "Algol et al" coding style foxaudioresearch@gmail.com - 2016-07-10 08:50 -0700
      Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-10 15:00 -0700
        Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-10 22:53 -0400
          Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-11 01:59 -0700
            Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-11 09:44 -0400
              Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-11 10:51 -0700
                Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-11 15:26 -0400
                Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-12 15:18 -0700
                Re: Forth coding style vs "Algol et al" coding style foxaudioresearch@gmail.com - 2016-07-25 19:56 -0700
                Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-25 23:13 -0400
                Re: Forth coding style vs "Algol et al" coding style jim.brakefield@ieee.org - 2016-07-26 07:34 -0700
                Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-26 11:23 -0400
                Re: Forth coding style vs "Algol et al" coding style jim.brakefield@ieee.org - 2016-07-26 13:18 -0700
                Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-26 18:14 -0400
                Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-27 02:43 -0700
                Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-27 10:24 -0400
                Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-27 02:46 -0700
                Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-27 10:26 -0400
                Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-27 02:53 -0700
                Re: Forth coding style vs "Algol et al" coding style foxaudioresearch@gmail.com - 2016-07-27 08:32 -0700
                Re: Forth coding style vs "Algol et al" coding style foxaudioresearch@gmail.com - 2016-07-27 09:04 -0700
                Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-28 02:05 -0700
                Re: Forth coding style vs "Algol et al" coding style foxaudioresearch@gmail.com - 2016-07-28 06:27 -0700
                Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-29 03:01 -0700
                Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-30 02:28 -0400
            Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-11 13:05 -0400
              Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-11 10:47 -0700
        Re: Forth coding style vs "Algol et al" coding style Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-07-11 08:50 -0500
          Re: Forth coding style vs "Algol et al" coding style Michael Barry <barrym95838@yahoo.com> - 2016-07-11 08:23 -0700
            Re: Forth coding style vs "Algol et al" coding style Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-07-11 11:48 -0500
              Re: Forth coding style vs "Algol et al" coding style Cecil Bayona <cbayona@cbayona.com> - 2016-07-11 12:16 -0500
                Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-11 10:38 -0700
                Re: Forth coding style vs "Algol et al" coding style Cecil Bayona <cbayona@cbayona.com> - 2016-07-11 13:32 -0500
                Re: Forth coding style vs "Algol et al" coding style Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-07-11 12:45 -0500
                Re: Forth coding style vs "Algol et al" coding style Brad Eckert <hwfwguy@gmail.com> - 2016-07-11 11:49 -0700
                Re: Forth coding style vs "Algol et al" coding style Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-07-12 05:02 -0500
              Re: Forth coding style vs "Algol et al" coding style Michael Barry <barrym95838@yahoo.com> - 2016-07-11 14:22 -0700
                Re: Forth coding style vs "Algol et al" coding style Cecil Bayona <cbayona@cbayona.com> - 2016-07-11 16:31 -0500
                Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-12 15:31 -0400
                Re: Forth coding style vs "Algol et al" coding style lawrencedo99@gmail.com - 2016-07-12 15:55 -0700
                Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-25 22:48 -0400
                Re: Forth coding style vs "Algol et al" coding style lawrencedo99@gmail.com - 2016-08-10 01:54 -0700
                Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-08-21 19:32 -0400
                Re: Forth coding style vs "Algol et al" coding style lawrencedo99@gmail.com - 2016-08-28 22:55 -0700
                Re: Forth coding style vs "Algol et al" coding style hughaguilar96@gmail.com - 2016-08-29 00:34 -0700
            Re: Forth coding style vs "Algol et al" coding style Howerd <howerdo@yahoo.co.uk> - 2016-07-11 11:58 -0700
          Re: Forth coding style vs "Algol et al" coding style lawrencedo99@gmail.com - 2016-07-12 15:59 -0700
            Re: Forth coding style vs "Algol et al" coding style Bernd Paysan <bernd.paysan@gmx.de> - 2016-07-26 00:40 +0000
              Re: Forth coding style vs "Algol et al" coding style "Elizabeth D. Rather" <erather@forth.com> - 2016-07-25 21:16 -1000
                Re: Forth coding style vs "Algol et al" coding style Bernd Paysan <bernd.paysan@gmx.de> - 2016-08-21 23:04 +0000
              Re: Forth coding style vs "Algol et al" coding style Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-07-26 03:34 -0500
                Re: Forth coding style vs "Algol et al" coding style Bernd Paysan <bernd.paysan@gmx.de> - 2016-08-21 23:13 +0000
              Re: Forth coding style vs "Algol et al" coding style anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-07-26 16:51 +0000
                Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-26 13:51 -0400
                Re: Forth coding style vs "Algol et al" coding style Bernd Paysan <bernd.paysan@gmx.de> - 2016-08-21 23:38 +0000
                Re: Forth coding style vs "Algol et al" coding style anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-08-22 12:51 +0000
            Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-25 22:50 -0400
            Re: Forth coding style vs "Algol et al" coding style Brad Eckert <hwfwguy@gmail.com> - 2016-07-26 16:32 -0700
              Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-27 10:19 -0400
                Re: Forth coding style vs "Algol et al" coding style "Elizabeth D. Rather" <erather@forth.com> - 2016-07-27 09:05 -1000
        Re: Forth coding style vs "Algol et al" coding style lawrencedo99@gmail.com - 2016-07-12 15:51 -0700
          Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-14 03:34 -0700
            Re: Forth coding style vs "Algol et al" coding style rickman <gnuarm@gmail.com> - 2016-07-25 22:51 -0400
      Re: Forth coding style vs "Algol et al" coding style Mark Wills <markwills1970@gmail.com> - 2016-07-11 01:56 -0700
        Re: Forth coding style vs "Algol et al" coding style foxaudioresearch@gmail.com - 2016-07-11 08:03 -0700

csiph-web