Search found 437 matches

by cfbsoftware
Wed Jan 05, 2011 5:05 am
Forum: Getting Started
Topic: interrupt(s)
Replies: 2
Views: 26440

Re: interrupt(s)

The attached demo program IRQFIQ which should run on LPC21xx and LPC22xx targets shows an IRQ being interrupted by an FIQ. It uses Timer0 to generate IRQs and Timer1 to generate FIQs. The IRQ handler stays in an infinite loop which only terminates when it is interrupted by an FIQ. If you need convin...
by cfbsoftware
Mon Jan 03, 2011 11:19 pm
Forum: Oberon Language
Topic: Forward Procedures
Replies: 1
Views: 12692

Re: Forward Procedures

There is no special mechanism used for forward procedures in Oberon-07. Normally procedures should be declared before they are referenced. The only time where it is necessary to use a forward procedure is if two procedures mutually call each other e.g. if you want to do something like: PROCEDURE Pro...
by cfbsoftware
Mon Jan 03, 2011 12:22 pm
Forum: Getting Started
Topic: IMPORT Main?
Replies: 1
Views: 16388

Re: IMPORT Main?

Main is not documented separately. It's a 140-line module which performs the following startup actions: Copies the interrupt area to mapped memory Installs the Trap Handler Sets Memory mapping control to User RAM Mode Enables the Memory Accelerator Module Initialises UART0 at 38400 baud for runtime ...
by cfbsoftware
Mon Jan 03, 2011 6:12 am
Forum: Oberon Language
Topic: Shifts and masks
Replies: 3
Views: 21004

Re: Shifts and masks

There are several possible ways. The style most often seen in Oberon code is: R := LSR(R, 6) MOD 0400H; The code generated is: E1B0B32BH MOV S R11,R11 LSR 6 E1A0BB0BH MOV R11,R11 LSL 22 E1B0BB2BH MOV S R11,R11 LSR 22 An alternative is: R := LSR(LSL(value, 16)); Initially this might appear less reada...