[Oberon] Why is RSC string data word-aligned?
Charles Perkins
chuck at kuracali.com
Sat Jan 30 21:23:16 CET 2021
Just an intuition, but if string constants and string variables start on a
word boundary and are padded with nul to a word boundary then a number of
string operations only require word access, simplifying assignment
(copying) and comparison.
On Sat, Jan 30, 2021 at 12:12 PM Colby Russell <oberon at x.colbyrussell.com>
wrote:
> I'm returning to some of the code that deals with Oberon's RSC binary
> file format. The first time I went through this exercise, I noticed
> that ORG pads string data, so individual strings begin on word
> boundaries, and I didn't think much about it. Presumably it was done
> for efficiency. Now, though, I'm wondering.
>
> Does anyone have a breakdown comparing the two approaches--where strings
> don't get padded with NUL bytes and may begin anywhere, versus what
> happens if with word alignment? If there are some string handling
> routines where this makes a material difference, can someone point to
> them?
>
> I've already looked around, but I realize that string representation is
> a cross-cutting concern, and there's just too much material to
> exhaustively scour it all again. If there was a call out on this topic
> in the explanation of the the simple compiler that's documented in
> Compiler Construction, then I wasn't able to find it. I looked at a few
> sections in the Oberon book as well, hoping to see if it was explained
> (e.g. the module loader chapter), but didn't spot anything there,
> either.
>
> --
> Colby Russell
>
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.inf.ethz.ch/pipermail/oberon/attachments/20210130/cab1d3cb/attachment.html>
More information about the Oberon
mailing list