Related articles |
---|
PR1ME C compiler sources derek@_NOSPAM_knosof.co.uk (Derek M. Jones) (2019-09-25) |
Re: PR1ME C compiler sources arnold@skeeve.com (2019-09-25) |
Re: PR1ME C compiler sources drb@ihatespam.msu.edu (2019-09-25) |
Re: PR1ME C compiler sources drb@ihatespam.msu.edu (2019-09-25) |
Re: PR1ME C compiler sources derek@_NOSPAM_knosof.co.uk (Derek M. Jones) (2019-09-26) |
Re: PR1ME C compiler sources drb@ihatespam.msu.edu (2019-09-27) |
Re: PR1ME C compiler sources derek@_NOSPAM_knosof.co.uk (Derek M. Jones) (2019-09-28) |
Re: PR1ME C compiler pointer management drb@ihatespam.msu.edu (2019-09-28) |
Re: PR1ME C compiler sources and pointer formats christopher.f.clark@compiler-resources.com (Christopher F Clark) (2019-09-29) |
Re: PR1ME C compiler sources and pointer formats drb@ihatespam.msu.edu (2019-09-30) |
From: | drb@ihatespam.msu.edu (Dennis Boone) |
Newsgroups: | comp.compilers |
Date: | Sat, 28 Sep 2019 11:08:02 -0500 |
Organization: | Compilers Central |
References: | 19-09-003 19-09-004 19-09-006 19-09-007 19-09-009 19-09-013 19-09-014 |
Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="63783"; mail-complaints-to="abuse@iecc.com" |
Keywords: | C, architecture, history |
Posted-Date: | 28 Sep 2019 21:17:38 EDT |
> I see that the PR1ME pointer value included fault and ring bits.
> But the register set does not appear to contain special address
> registers.
There are base registers, and address registers for e.g. field operands
used in packed decimal arithmetic or character string edit instructions.
But for the most part, effective addresses would be computed from base
registers or pointers in memory.
> Do you know if casting an integer to a pointer result could create
> a value that trapped when the pointer was loaded into a register?
> I assume it could trap if an attempt was made to treat the value as
> an address.
I don't think a trap would occur when the register was loaded. It would
happen when you tried to use the register as an address. This would be
unusual at best, though: see the above comment about base registers and
memory pointers. Off the top, I think you might have to abuse the
mapping of some of the user registers to locations 0-7 to get this to
happen. I-mode is more general-register-y, so you might be able to use
a general register as a pointer there.
One version of the architecture manual is here if you're interested.
https://sysovl.info/pages/blobs/prime/archhw/Sys%20Arch%20Ref%20Guide%20Rev%2019.2%20DOC3060-192P%201983.pdf
De
Return to the
comp.compilers page.
Search the
comp.compilers archives again.