User talk:Ian Joyner
From Wikipedia, the free encyclopedia
[edit] B5000 stuff
Could you please have a look at Burroughs large systems descriptors for accuracy? I wikified it per the request of SimonP. I just want to make sure I didn't distort anything. Thanks Avriette 08:11, 25 Apr 2005 (UTC)
update Burroughs link.tooold 18:42, 23 May 2007 (UTC)
[edit] ENTR/MCP/STAG
Hi Ian,
thank you very much for putting up that page !
- http://en.wikipedia.org/wiki/Burroughs_large_systems_instruction_set
May I make some comments.
ENTR (execute a procedure call as given by a tag 7) is a bit more elaborate:
1. MKST/IMKS must be followed by an IWR on the stack (the way it is already described).
2. the new frame so setup up in the stack is linked to the previous MKST/IMKS record, which links to the previous, etc, so RETN always knows what to do. Also stack switch (MVST) records the most recent MKST/IMKS location in the TOS word for when MVST comes back it can find it.
3. ENTR takes the most recent pending activation record from the location one word below MKST/IMKS and checks that the IWR references a PCW (if not then an exception is raised). This is important to mention since ENTR can impossibly work without IRW. Moreover, ENTR can find a SIRW or an IRW. The former usually means a library routine (SIRW can point to another stack), the latter a local routine in the currently running program.
If I may suggest to group MKST/IMKS/ENTR/EXIT and MVST together.
MCP the word is not explained. In the phrase Unisys Clearpath/MCP the Unisys Clearpath part is hardware and the MCP is an operating system. You could write your own OS for running on Burroughs Large Systems/Unisys Clearpath, the latter is not a synonym of the former.
STAG is described with (not allowed in user-level processes). Such a concept is outside the Burroughs Large Systems/Unisys Clearpath world. Instead, the compiler marks the codefile (which contains explicitly used STAG) so that the MCP should only allow to execute the code if the code file attribute was set privileged by a manual operation. Has nothing to do with instructions and CPU privileges. For example, I've written routines in the NEWP dialect of ALGOL on the Large Systems and used STAG the way I wanted.
The same as for STAG applies to OVRD and OVRN but the remark (for use in MCP only) could be read as (intended for use in MCP only). But every compiler (system language compiler as well as user language compiler) on the Large Systems/Clearpath can emit implictly stack setup code and other manipulative code which contains STAG, OVRD and OVRN, without which the compiled program could not be made run.
Cheers Klaus [--Kdabw 13:39, 8 October 2007 (UTC)]