RS08

C6808

Our view on RS08

|

I just read Jack's editorial on Embedded.com on the RS08 processor. This is a fun little processor.

We did some work on the instruction set design on this processor, and wrote a C compiler for the RS08. This is a remarkable little processor that, in the end, outperformed many people's expectations (including mine).

C6808

Jack Ganssle on RS08

|

Jack Ganssle's latest column in embedded.com reminds us that there is still life in 8-bit architectures.

He mentions the Freescale RS08, which is supported by our C6808 Code Development System.

UPDATE: Jack cites an article on Circuit Cellar by Tom Cantrell, who also talks about RS08.

C6808

RS08 has no Negative bit in its condition codes. Can you do signed math operations?

|

Yes.

C6808

RS08 has no stack: how can you perform nested function calls?

|

C6808 creates a stack through program code: it preserves the Shadow PC (SPC) in a local variable and restores it prior to returning.
As an optimization, it eliminates this code whenever possible. When a function calls no subordinate functions, or when the call to a subordinate function happens at specific points in program flow, the compiler eliminates the saved PC and the memory location it would require.

This approach uses no extra memory compared to a hardware stack.

C6808

Do I really need C to program RS08?

|

There's no reason not to use C to program even the smallest computers. C compilers improve on assemblers by:

  • Allowing the developer to work in the problem space (choosing the symbolic operations), not the solution space (choosing the machine instructions).
  • Calculating opportunities for optimization with both the algorithm and target hardware in mind.
C6808

When is a branch not a branch?

| |

I recently got an interesting code sequence out of the compiler.

FAE

C versus Assembly

| | |

This article describes a test we perform on our Code Development System compilers to test code generation. As a side benefit, it proves that C can match assembly, and beat it, even unexpectedly...

C6808

C6808 C Compiler for Freescale HC08/HCS08/RS08

| |

The C6808 Code Development System supports all Freescale HC08, HCS08, and RS08 microcontrollers.

Syndicate content