S16 mimics F21 
Author Message
 S16 mimics F21


 > i see what you're getting at.  however...
 >
 > if f21 can be said to be a 21-bit machine, then it is certainly
 > possible to regard the 8086 as a machine with a 17-bit alu, although
 > not truly 17-bit.  it is only the registers and the memory interface
 > that are 16 bits.  ditto, external memory on the f21 is 20 bits; the
 > 21st bit only exists internally.  so i suggest that you regard your
 > machine as being, in fact, an "s17" and simulating a 17-bit stack in
 > memory, just as the f20 became the f21.

I faced that possibility, but
    -  "S16" can address a full 64K segment (albeit not directly);
    -  three slots fit in 15 bits;
    -  the 17th bit costs speed.

 > i like the idea, also, of having 3 slots of instruction (15 bits)
 > in a 16 bit word, because it enables you to use the spare bit to
 > denote subroutine calls.

That fine (Novix) idea won't quite fit here, I think. There is already
a call opcode, and I want to use F21's original 27 instructions for
several reasons.

 > (by putting it at the lsb, you can simulate byte addressing, too...)

...but one little step in the CISC direction... Each new feature is
executing a "(n) 1 max virtual_dollars +!" instruction at design time.

 > i really don't think that having a long jump op will be that helpful,
 > though.  with calls available to the entire range of memory, jumps
 > only need to be used to implement conditionals, and then their range
 > wil need to be only quite small.  (5 bits should do fine.)

I agree.

 > but i'd humbly like to submit a proposal for inclusion in a forth
 > system: a BEGIN primitive:
 >
 >      BEGIN ... UNTIL

Loop by procedures---a fascinating idea. But I also want to point out
that the traditional BEGIN construct often is the rescue when temporary
data on the rack collides with the loop index. If this rescue would
vanish, I certainly would try to implement a third stack.

  Cheers                       Johannes Teich | Internet:    __  __c

 _________________________________ CompuServe: 100522,135 ____(_)/_(_)_
 (Murnau, Bavaria/Germany)



Sun, 11 Jan 1998 03:00:00 GMT  
 S16 mimics F21
On Wed, 26 Jul 1995 19:09:37 GMT, Johannes Teich gave us:

\  > i see what you're getting at.  however...
\  >
\  > if f21 can be said to be a 21-bit machine, then it is certainly
\  > possible to regard the 8086 as a machine with a 17-bit alu, although
\  > not truly 17-bit.  it is only the registers and the memory interface
\  > that are 16 bits.  ditto, external memory on the f21 is 20 bits; the
\  > 21st bit only exists internally.  so i suggest that you regard your
\  > machine as being, in fact, an "s17" and simulating a 17-bit stack in
\  > memory, just as the f20 became the f21.

\ I faced that possibility, but
\     -  "S16" can address a full 64K segment (albeit not directly);
\     -  three slots fit in 15 bits;
\     -  the 17th bit costs speed.

ok, you have a point.

\  > i like the idea, also, of having 3 slots of instruction (15 bits)
\  > in a 16 bit word, because it enables you to use the spare bit to
\  > denote subroutine calls.

\ That fine (Novix) idea won't quite fit here, I think. There is already
\ a call opcode, and I want to use F21's original 27 instructions for
\ several reasons.

there's a call onpage, but call offpage is time-consuming, and if s16
will only exist as a simulator then maybe it's worth the special
purpose bit...?

\  > (by putting it at the lsb, you can simulate byte addressing, too...)

\ ...but one little step in the CISC direction... Each new feature is
\ executing a "(n) 1 max virtual_dollars +!" instruction at design time.

otoh, if this is just a simulator, then packing things on to silicon
isn't going to be a design objective...

\  > i really don't think that having a long jump op will be that helpful,
\  > though.  with calls available to the entire range of memory, jumps
\  > only need to be used to implement conditionals, and then their range
\  > wil need to be only quite small.  (5 bits should do fine.)

\ I agree.

thanks |:>

\  > but i'd humbly like to submit a proposal for inclusion in a forth
\  > system: a BEGIN primitive:
\  >
\  >      BEGIN ... UNTIL

\ Loop by procedures---a fascinating idea. But I also want to point out
\ that the traditional BEGIN construct often is the rescue when temporary
\ data on the rack collides with the loop index. If this rescue would
\ vanish, I certainly would try to implement a third stack.

depends... i'd suggest that any loop that needed an index was better
off being explicitly coded around BEGIN..UNTIL.  Wirth saw fit to
eliminate the FOR loop from Oberon.
--


  make it go away... | "Nothing to do, nothing to steal and there's nothing
   i disclaim all    |  to say, oh no no - Stopit!"



Thu, 15 Jan 1998 03:00:00 GMT  
 
 [ 2 post ] 

 Relevant Pages 

1. S16 mimics F21

2. S16 mimics F21

3. S16 mimics F21

4. Forth & music (was: S16 mimics F21)

5. S16 mimics F21

6. "S16" mimics F21

7. mimicking stacks in gawk

8. mimic wc

9. Can't mimic Excel DECIMAL computations

10. USB for F21?

11. So, is the F21 dead?

12. On the F21 GameBody topic

 

 
Powered by phpBB® Forum Software