Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!zephyr.ens.tek.com!tekig5!brianr From: brianr@tekig5.PEN.TEK.COM (Brian E Rhodefer) Newsgroups: comp.sys.amiga.tech Subject: Interrupt Servers Keywords: A6 scratch Message-ID: <6493@tekig5.PEN.TEK.COM> Date: 29 Jun 90 00:32:59 GMT Distribution: na Organization: Tektronix Inc., Beaverton, Or. Lines: 25 My program uses a Vertical Blanking Interrupt server whose only function is to signal a task every N frames. To call Exec's Signal() function, of course, the server loads A6 with &SysBase, but I have a few misgivings about this. My copy of the Exec volume of the RKM, in the chapter on Interrupts (Ch 7, I believe), says that Interrupt Server routines can't count on the contents of A6, and that only regs D0-D1/A1/A5 are scratch. I disassembled the Vertical Blank interrupt (for my system), and found that D0-D1/A1/A5-A6 are all saved & restored by the Kernel. With the explicit warning against depending on A6's contents, it seems to me that either a) if everyone indeed preserves A6, as the RKMs appear to mandate, then they should be able to depend on the Kernel's loading of A6 with SysBase or b) if nobody depends on A6, as the RKMs suggest, and the kernel saves&restores it, then A6 can be regarded as scratch Is the RKM inaccurate/incomplete here? I don't have to push&pop A6 in my Server routine, do I? Brian Rhodefer