[Oberon] SETs (was: FPGA - Bitmaps.Mod)

Chris Burrows chris at cfbsoftware.com
Fri Apr 21 14:21:08 CEST 2017


> -----Original Message-----
> From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of
> Tomas Kral
> Sent: Friday, 21 April 2017 7:15 PM
> To: Oberon@
> Subject: [Oberon] FPGA - Bitmaps.Mod
> 
> <snip>
> I copied & modified below code without much understanding, it
> operates on Oberon SET {0..31} variables.
> 
> left := dst MOD 4; right := w MOD 4;
> ...
> SYSTEM.GET(src, t);  SYSTEM.GET(dst, s); SYSTEM.PUT(dst, s / (t *
> {left*8..31} * {0..right*8-1})) ...
> 
> I believe
> `s / t' is the intersection, but I do not understand this construct
> (t * {left*8..31} * {0..right*8-1}) ?
> 
> So for various screen modes I would generally use:
> s / t ... for invert
> s + t ... for paint
> s - t ... for replace mode?
> 

For an explanation of the various SET operators in Oberon read the document
titled "SET: A neglected data type, and its compilation for the ARM",
Niklaus Wirth 8.8.2007:

https://www.inf.ethz.ch/personal/wirth/Oberon/SETs.pdf

Regards,
Chris Burrows
CFB Software
http://www.astrobe.com





More information about the Oberon mailing list