Hans-Peter Nilsson wrote:
> On Thu, 16 Feb 2006, Sylvain Munaut wrote:
>
>>Move/Load/Store without flag is no problem. But for add, to allow
>>multiword add, carry is needed and I can't make it optionnal.
>
>
> As I hinted, perhaps you can have the multiword carry a separate
> one from the flags carry, perhaps moved over with a separate
> instruction?
Yes, two set of flags look good. One for arith operations (shift thru
carry, multiword add, ...) and the other only for compare operations.
With either a bit to select which set of flag to use during conditionnal
jumps or a way to copy one set into the other (I'll see what's the
easier to implement, but i'd like the first possibility better).
>>Also, I could make the address given a word address or a byte address
>>(but then I would just drop the LSB since i don't support unaligned
>>access ... and the immediate in load/store would be each even between
>>-32 and 30).
>
> Stick with byte addresses. Really, really really. Word
> addresses used to be somehow supported, but there are many bugs
> and no other working port does it. Having the imm4 be bits 5..1
> and bit 0 constant 0 is certainly the right thing to do for
> 16-bit-wide accesses.
Ok, so be it then.
Sylvain