[Oberon] Low-Level Tricks - was: Volatile variables in Oberon

Treutwein Bernhard Bernhard.Treutwein at Verwaltung.Uni-Muenchen.DE
Tue Aug 2 09:06:10 CEST 2016


Hi Wojtek,

> I quickly scanned the Project Oberon from the NW website looking for
> implementation hints which you outlined. I did not find this discussion

I don't know if these dirty tricks are written down somewhere, but you 
see them in many low-level driver modules, e.g. the 3Com EtherLink XL 
driver, see line 59, 74 and 520ff : 
https://trac.inf.ethz.ch/trac/lecturers/a2/browser/trunk/source/Ethernet3Com90x.Mod
(I hope you can access the repo browser, otherwise you could try the unofficial mirror at github:
https://github.com/Ignat99/a2/blob/master/source/Ethernet3Com90x.Mod).

--
  Bernhard

>-----Original Message-----
>From: Skulski, Wojciech [mailto:skulski at pas.rochester.edu]
>Sent: Tuesday, August 02, 2016 7:34 AM
>To: Treutwein Bernhard; 'ETH Oberon and related systems'
>Cc: joerg.straube at iaeth.ch
>Subject: RE: [Oberon] Volatile variables in Oberon
>
>Joerg and Bernhard:
>
>thank you for the very helpful discussion. I duly saved your e-mails for future
>reference. I would not decipher these tricks from the SYSTEM description in
>the language report. Your insight was very helpful.
>
>I quickly scanned the Project Oberon from the NW website looking for
>implementation hints which you outlined. I did not find this discussion
>anywhere (excuse me if I skipped it). The NW book does not go into this level
>of implementation detail. I would be great if a short app note was available
>illustrating HW access via volatile memory structures using your examples.
>
>Thank you for your help.
>
>Wojtek
>
>________________________________________
>From: Treutwein Bernhard [Bernhard.Treutwein at Verwaltung.Uni-
>Muenchen.DE]
>Sent: Monday, August 1, 2016 6:46 AM
>To: 'ETH Oberon and related systems'
>Subject: RE: [Oberon] Volatile variables in Oberon
>
>Hi Wojciech,
>
>> a high level Oberon array carries the hidden memory tag.
>
>Yes, but as far as I know all recent implementation have the hidden
>type tags at negative address offsets. You must know these
>implementation details and you are absolutely correct that these are
>dirty tricks. Therefore the IMPORT SYSTEM is essential, but I think these
>tricks are essential for hardware programming.
>
>--
>  Bernhard


More information about the Oberon mailing list