[Oberon] Hennessy.Mod 64kB limit

Joerg joerg.straube at iaeth.ch
Tue Feb 18 17:15:31 CET 2020

One could obviously write:

  (* branch conditions *)
  MI = 0; EQ = 1; LT = 5; LE = 6, ALWAYS = 7;
  CondOffset = 01000000H;

  (* instruction formats *)
  RegisterInstruction0 = 0; RegisterInstruction1 = 1; MemoryInstruction = 2;
BranchInstruction = 3; 
  InstOffset = 40000000H;
  U = 20000000H;
  V = 10000000H;

SYSTEM.PUT(address, BranchInstruction*InstOffset + ALWAYS*CondOffset + U + V
+ offset MOD CondOffset);


-----Original Message-----
From: Oberon <oberon-bounces at lists.inf.ethz.ch> On Behalf Of Skulski,
Sent: Tuesday, February 18, 2020 4:58 PM
To: rochus.keller at bluewin.ch; ETH Oberon and related systems
<oberon at lists.inf.ethz.ch>
Subject: Re: [Oberon] Hennessy.Mod 64kB limit

Rochus wrote:

> I see a certain contradiction between what is preached and what is
actually done by the preachers. 

This would be OK if it was done right. The following code is syntactically
correct but it cannot be "right".

SYSTEM.PUT(adr, (offset MOD 1000000H) + 0F7000000H);

> Swiss are pragmatics, once more ;-)

This could be accepted if they wrote comments in their code.

If the purpose of programming is to confuse the enemy, then everything is OK
of course. (The enemy being everyone except the author.)


Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems

More information about the Oberon mailing list