Article View: gnu.misc.discuss
Article #73897p-System byte-sex reference
From: DJ Delorie
Date: Fri, 19 Jul 1991 12:54
Date: Fri, 19 Jul 1991 12:54
54 lines
2921 bytes
2921 bytes
In article <1991Jul19.003624.29045@cs.ubc.ca>, manis@cs.ubc.ca (Vincent Manis) writes: > One of the words in the above article caught my eye. (No, it wasn't > `machines'). I seem to remember that the UCSD p-system, circa 1978, had > a standardized data format on disk, with procedures which would map to > and from that standardized data format. Those procedures were nops on > machines which used the standardized format. > > The reason this comes to mind is the phrase `byte-sex', which I first > saw in the UCSD manual of the time. My p-system manuals have long since > been turned into something organic at the recycler, so I leave it for > someone else to confirm this vague memory. [information below copied without permission - DJ] Reference: UCSD p-System(tm) INTERNAL ARCHITECTURE (SofTech Microsystems, reprint by Zenith Data Systems, 1983) Chapter 2 - Code File Format Section - Code Segments and Byte Sex Page 2-6 [begin quote] Code segments are independent of the byte sex of the host processor. A number of system components cooperate to achiece this independence. There are two groups of word-oriented (byte-sex-dependent) information. The first is superstructure information, such as the routine dictionary. This information is flipped by the operating system when a segment is loaded. The second is embedded information, such as constants (accessed by the Load Constant (LDC) p-machine instruction of by Case Jump (XJP) tables). This sort of information is flipped by the PME. The compiler produces code segments that contain word information in the natural order of the machine on which the compiler is run. Immediately following the segments 8 character name is a flag that always contains the constant 1, in the byte sex of the original machine; if read in the opposite byte sex, it appears to be 256. When a segment is loaded by the operating system, and its byte sex flag indicates that the sex of the segment is opposite that of the running machine, the segment superstructure is byte-swapped. Embedded information is then flipped by the PME. The net result is that segments of either sex can be run on any machine. [end quote] DJ dj@ctron.com
Technical Details
Message-ID:
<1820@balrog.ctron.com>Path:
arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!zaphod.mps.ohio-state.edu!samsung!balrog!ctron.comReferences:
<709@silence.princeton.nj.us> <1738@opus.NMSU.Edu> <1991Jul18.191212.20311@kithrup.COM> <1991Jul19.003624.29045@cs.ubc.ca>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 1025b4,9a4c815047ed049b X-Google-Attributes: gid1025b4,public X-Google-ArrivalTime: 1991-07-19 06:30:36 PST Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!zaphod.mps.ohio-state.edu!samsung!balrog!ctron.com From: dj@ctron.com (DJ Delorie) Newsgroups: gnu.misc.discuss Subject: p-System byte-sex reference Message-ID: <1820@balrog.ctron.com> Date: 19 Jul 91 12:54:17 GMT References: <709@silence.princeton.nj.us> <1738@opus.NMSU.Edu> <1991Jul18.191212.20311@kithrup.COM> <1991Jul19.003624.29045@cs.ubc.ca> Sender: news@balrog.ctron.com Reply-To: dj@ctron.com Organization: None whatsoever Lines: 54 Nntp-Posting-Host: bragi