BTW: the German mainframe Telefunken TR440 had some similar instructions
which were not protected the same way like EX. There were at least three
ways to stop the CPU from a non-privileged program ... I recall them being
called "Schecher-Stop type n" (n = 1,2,3), because Schecher was the name
of the famous programmer who exploited them :-)
Kind regards
Bernd
Am 07.08.2018 um 07:28 schrieb Bernd Oppolzer:
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