Software Reading frames

Bruce Edmonds (B.Edmonds@MMU.AC.UK)
Fri, 17 Nov 1995 09:22:40 GMT


Jeff Writes:
> Kampis makes the analogy between reading frame in biochemistry
> and computers. It is the hardware that controls the reading
> frame in computers (the word length in bits if you like). In
> biochemistry, there may be post-transcriptional and post-
> translational events that change the reading frame. In computers,
> there is only a single reading frame. The software can't change the
> hardware in this way. If it could, then it would be something
> quite a bit more interesting than the machine I'm typing on at
> the moment.

This is not true. Software can have several reading frames in a way
exactly analogous to the dna example. Of course the unit of the byte
does not change (just as one the unit of the dna does not), but
instruction sequences do.

An artificial but realistic example:

If 23 is the code for directly loading a byte into the processor
(followed by one data byte), 45 is the code for copying an address
to another address (followed by two data bytes), 62 outputs the
current byte into an output stream (no following data bytes) and 02
is the code for stop.

Take the four bytes 23 45 62 02 where interpretation happens to start
at byte one:

23 45 62 02
load 45 output stop
^^^

If the interpretation happened to start at byte two it would mean:

23 45 62 02
copy between 62 02
^^^

In fact, different reading frames are far easier to set up in
computer software than in dna as there are NO start codes, the
interpretation is done ENTIRELY by context.

This is, of course, difficult to DESIGN IN as intentional features of
code, but has been occasionally used in obtuse copy protection
mechanisms. It can occur in genetic programming where code is
artificially evolved (depending on the structural language over which
the evolution occurs).

----------------------------------------------------------
Bruce Edmonds
Centre for Policy Modelling,
Manchester Metropolitan University, Aytoun Building,
Aytoun Street, Manchester, M1 3GH. UK.
Tel: +44 161 247 6479 Fax: +44 161 247 6802
http://bruce.edmonds.name/bme_home.html