Path: utzoo!attcan!uunet!mcsun!ukc!icdoc!inmos!malc@bilbo.inmos.co.uk From: malc@bilbo.inmos.co.uk (Malcolm Boffey) Newsgroups: comp.sys.transputer Subject: Re: More undocumented instructions Message-ID: <4918@ganymede.inmos.co.uk> Date: 26 Mar 90 17:38:26 GMT References: <9003201450.AA01756@flay.thorn-emi-crl.co.uk> Sender: news@inmos.co.uk Reply-To: malc@inmos.co.uk (Malcolm Boffey) Organization: INMOS Limited, Bristol, UK. Lines: 21 This is in response to queries about undocumented instructions for loading and storing the D, E, S registers. In addition to the published registers :- A, B, C, I, W, queue pointers etc, there are a few (D, E) that are used to hold intermediate values in some of the instructions. As they are not saved during interrupts, there seems little use for them in low priority, and they can only be used safely at high priority if you know what instructions are able to corrupt them (which I don't). Anyway, it is easier to use another local variable. The status register (S) holds miscellaneous bits of state like the Error flag and the HaltOnError flag, for which there are already enough instructions to access and alter them. There are one or two other instructions that are used for testing, none of them terribly usefull or interesting. Also, it is more or less a certainty that they will be discontinued in future transputers, or at least change their function significantly. malc. Malcolm Boffey, Transputer Group, Inmos. | Inmos Ltd, UK: malc@inmos.co.uk | 1000 Aztec West, Almondsbury, US: malc@inmos.com | Brisol BS12 4SQ. UUCP: ...uunet!mcsun!ukc!inmos!malc | Tel. +44 454 616616 x522