🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.misc.discuss
Article #73897

p-System byte-sex reference

#73897
From: DJ Delorie
Date: Fri, 19 Jul 1991 12:54
54 lines
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.com
References: <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