AnyCPU
http://anycpu.org/forum/

STM8 --- any thoughts?
http://anycpu.org/forum/viewtopic.php?f=3&t=463
Page 1 of 1

Author:  Hugh Aguilar [ Sun Sep 24, 2017 5:14 am ]
Post subject:  STM8 --- any thoughts?

I've been reading about the STM8 and thinking about writing a compiler for it.
Does anybody have any experience with it?
It seems to provide a lot of processor for not much money.

Author:  BigEd [ Sun Sep 24, 2017 6:15 am ]
Post subject:  Re: STM8 --- any thoughts?

I don't have any experience, but here's their description of it - it's an 8-bit Harvard machine with just a few registers, perhaps a bit like a 6800 taken in a different direction:

Quote:
The 8-bit STM8 Core is designed for high code efficiency. It contains 6 internal registers, 20 addressing modes and 80 instructions. The 6 internal registers include two 16-bit Index registers, an 8-bit Accumulator, a 24-bit Program Counter, a 16-bit Stack Pointer and an 8-bit Condition Code register. The two Index registers X and Y enable Indexed Addressing modes with or without offset, along with read-modify-write type data manipulation. These registers simplify branching routines and data/arrays modifications.

The 24-bit Program Counter is able to address up to 16-Mbyte of RAM, ROM or Flash memory. The 16-bit Stack Pointer provides access to a 64K-level Stack. The Core also includes a Condition Code register providing 7 Condition flags that indicate the result of the last instruction executed.

The 20 Addressing modes, including Indirect Relative and Indexed addressing, allow sophisticated branching routines or CASE-type functions. The Indexed Indirect Addressing mode, for instance, permits look-up tables to be located anywhere in the address space, thus enabling very flexible programming and compact C-based code. The stack pointer relative addressing mode permits optimized C compiler stack model for local variables and parameter passing.

The Instruction Set is 8-bit oriented with a 2-byte average instruction size. This Instruction Set offers, in addition to standard data movement and logic/arithmetic functions, 8-bit by 8-bit multiplication, 16-bit by 8-bit and 16-bit by 16-bit division, bit manipulation, data transfer between Stack and Accumulator (Push / Pop) with direct stack access, as well as data transfer using the X and Y registers or direct memory-to-memory transfers.

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/