Re: FPU emulation incorrect for 68LC040?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



the way I understood post-increment to work was for this to happen
only after instruction execution. If the effective address had been
modified already, it would be more difficult for an emulator to
determine the correct address after the trap. Also, it seems more
efficient to first decode the instruction (and trap if needed) before
fully decoding the address.

The 68LC040 calculates the effective address of unimplemented FP instructions and puts it in the exception frame so that the emulator should not have to - after all, the CPU already has the hardware to do EA calculations the right way. On the other hand, an instruction that traps will not, in general, alter any register.

For example, move.l -(a0),-(a0) will decrement a0 twice, once before the load and once again before the store. But if the either the load or store traps, the exception handler will see an unchanged register. At least this is my understanding after various experiments - the official docs are not very explicit about it.

--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux