There is a difference;

when coding B *, the CPU has to fetch the instruction
again and again, so it is easy to interrupt the endless loop by another
process or task. But a (theoretical) EX R0,* loop cannot be interrupted, because
the loop is inside the execution logic of ONE instruction.

Kind regards

Bernd


Am 07.08.2018 um 01:49 schrieb Steve Smith:
On 8/6/2018 18:12, Dan Greiner wrote:
I was once asked why the execute exception existed. That is, why not just let the hardware — or, in this odd case, the firmware — cascade down a chain of multiple EX instructions, ORing the bits of the R1 field with the subsequent target instruction, whatever instruction that might be.  Aside from there being absolutely no practical reason for wasting circuits on such folly, the answer is obvious ... the EX instruction could target itself, and the CPU would get its knickers tied into a knot without an exception.
Obvious, maybe, but maybe not.  B * isn't prevented from spinning the CPU.  It has no knickers, and cares not if you carelessly make it work furiously at nothing.

sas

Reply via email to