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