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


Groups > comp.lang.forth > #49564

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-27 10:26 -0400
Organization A noiseless patient Spider
Message-ID <nnaga3$nvs$9@dont-email.me> (permalink)
References (5 earlier) <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> <a3d3bcd6-7b25-4ea1-b22d-3e9ed6caa006@googlegroups.com>

Show all headers | View raw


On 7/27/2016 5:46 AM, Mark Wills wrote:
> On Tuesday, 26 July 2016 03:56:54 UTC+1, foxaudio...@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...
>>
>> BF
>
> Lovely. Yes, it's the ONLY feature that I miss on the 9900. I have become
> so at-ease with 9900 that I can generally write pages of 9900 assembler
> and it will work first time. Not because I'm uber-9900er, but because it's
> a very simple, logical, orthogonal instruction set with plenty (16) of
> registers.
>
> The SOC and SZC instructions are a little strange (no OR instruction)
> but they're actually really neat.

Think of setting and clearing bits using bitmasks rather than logical 
operations.

-- 

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