[Oberon] Easter eggs in Oberon

Joerg joerg.straube at iaeth.ch
Sun Apr 12 13:00:35 CEST 2020


Hans

A)
below an example of a module that can be used as boot loader. Two special things of boot modules: 1) you can’t IMPORT stuff, 2) when reaching the END the code jumps to address 0

MODULE* BootLoad;
BEGIN
END BootLoad.

boot modules run on reset and have to be stored into the RISC-5 processor‘s ROM at address -8192.

B)
As you mentioned symbol/operator I had ORP symbols in mind. Comments are strictly speaking no ORP symbols as they are treated in ORS. But from the outside (non compiler) view you are right: * is part of comments in Oberon-07.

C)
There is no „byte multiplication“; the type BYTE modifies the assignment not the multiplication;
After these statements
    b := -2;
    b := b * 256;
b is 0 although the multiplication results in 65024. Can be verified by these statements
    b := -2;
    i := b * 256;

br
Jörg

> Am 12.04.2020 um 10:11 schrieb Hans Klaver <hklaver at dds.nl>:
> 
> Part of comment bracket is good. I did not think of byte multiplication as a seperate one, but you are right! 
> 
> So that would make the total number of Easter Eggs to find twelve.
> 
> 1. integer multiplication operator
> 2. real multiplication operator
> 3. byte multiplication operator
> 4. set intersection operator
> 5. export mark
> 6. interrupt procedure
> 7. part of comment bracket
> 8. boot module (?)
> 
> Four to go...
> 
>> Op 12 apr. 2020, om 09:54 heeft August Karlstrom <fusionfile at gmail.com> het volgende geschreven:
>> 
>>> On 2020-04-12 09:36, Hans Klaver wrote:
>>> It is indeed the asterisk that I had in mind. That was easy.
>> [...]
>>> So far you found:
>>> 1. integer multiplication operator
>>> 2. real multiplication operator
>>> 3. set intersection operator
>>> 4. export mark
>>> 5. interrupt procedure
>>> 6. boot module (?)
>>> So still 5 to go.
>> 
>> Two obvious ones are byte multiplication and comment delimiter (part of).
>> 
>> -- August
>> --
>> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
>> https://lists.inf.ethz.ch/mailman/listinfo/oberon
> 
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon



More information about the Oberon mailing list