KRzysztof
--
X-Real-Email-With-Antispam: krzysdrewniak at gmail dot com
pgp key on keyserver.ubuntu.com and maybe some other place too
Krzysztof
Actually, it is doing something - spinning "on the spot" executing
a jump instruction with target address of that jump instruction
repeatedly. You can see it by enabling trace (TRACE ON? Can't
remember right now) before typing GO.
See, KLH10's KS emulation has an unsafe optimization in the macro
that adjusts the program counter, which leads to the PC not changing
to the specified jump target after JSR, and possibly other
instructions, when compiled with GCC4. I ran into the problem a year
ago.
http://groups.google.com/group/alt.sys.pdp10/browse_thread/thread/3ccdb8641d37bfc6
Look into kn10def.h, find
#if KLH10_EXTADR
# define PC_ADDXCT(x) { register pcinc_t i__ = (x); if (i__) PC_ADD
(i__); }
#else
# define PC_ADDXCT(x) (cpu.mr_PC += (x)) /* For now; fix up
later? */
#endif
and change the "fix up later" line into
# define PC_ADDXCT(x) { register pcinc_t i__ = (x); cpu.mr_PC +=
i__; }
then recompile KLH10.
Pozdrawiam,
Roch Kusiak