Re: [Oberon] [Fwd: RE: objects and jewels]
Hi Jan, In the Oberon System the assembly code is hidden in the Kernel and SYSTEM Modules. Even hardware drivers like Serial did not use assembly directly. The processor on my simplecortex board,an developmentboard with Arduino format pinouts, has a core speed of 120 MHZ. The NS320 processor in the original Ceres system had a speed of 30 MHZ. So using importing assembly in driver modules was neither necessary in the early nineties as it is now in 2013. Getting and Putting registers is as low as I want to go. However register setting needs also to be abstracted. Therefore I advocate a driver module LED for all your fancy light effects. DEFINITION LED VAR led :RECORD pin,port:INTEGER END PROCEDURE Init(aled: Led) PROCEDURE InitSerie(LedsPort0,LedsPort1: SET) PROCEDURE SwitchOn(aled:Led); PROCEDURE SwitchOFF(aled: Led) PROCEDURE Blink*(aled:Led,mSec;INTEGER); END LED Greets, F.P. Greets, F.P.
On Tuesday 19 February 2013 22:13:01 Frans-Pieter Vonck wrote:
VAR led1: LED.led; LED.SwitchOn(led1); (Modular style) than with, led1.SwitchOn. (object style)
How about
mov dx, port mov al, LedBit or al, LedBit out al, dx
-- Met vriendelijke groeten,
Jan Verhoeven http://www.verhoeven272.nl
participants (1)
-
Frans-Pieter Vonck