[Oberon] ARM Oberon Code Generation (was PO.Computer documentation)

eas lab lab.eas at gmail.com
Sat Apr 26 09:44:41 CEST 2014


Chris Burrows wrote:-
]BL is 'Branch with Link' (BLT is 'Branch Less Than').
]
]BL is the ARM instruction used to call a procedure. There are two BL
instructions for the ]above snippet - one for each call to an 'Out'
procedure.
]
]A list of these instructions is in the 'ARM and Thumb-2 Instruction
Set Quick Reference Card' ]which you can download from:
]
]http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.qrc0001m/index.html

OK, thanks. I'm trying to avoid opening another canOworms.
But your 'Branch Link' subroutine-call helped me to accept that probably
ALO *CAN* disassemble it's object code. Which is quite spectacular IMO.

== Chris GLUR.


On 4/26/14, Chris Burrows <chris at cfbsoftware.com> wrote:
>> -----Original Message-----
>> From: eas lab [mailto:lab.eas at gmail.com]
>> Sent: Saturday, 26 April 2014 12:41 PM
>> To: chris at cfbsoftware.com; ETH Oberon and related systems
>> Subject: Re: [Oberon] ARM Oberon Code (was: PO.Computer documentation)
>> ...
>> can you confirm IF the following bytes match the source:
>> ...
>> Out.Real(a*b, 12); Out.Ln;
>> ...
>> eb 00 01 04   BL 468H
>> eb 00 01 08   BL 47cH
>>
>> ?BL sounds like branchOnLess; but HelloWorld has no decisions?
>>
>
> BL is 'Branch with Link' (BLT is 'Branch Less Than').
>
> BL is the ARM instruction used to call a procedure. There are two BL
> instructions for the above snippet - one for each call to an 'Out'
> procedure.
>
> A list of these instructions is in the 'ARM and Thumb-2 Instruction Set
> Quick Reference Card' which you can download from:
>
> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.qrc0001m/index.html
>
> Detailed explanations of the ARM code sequences that are generated by
> Oberon-07 statements are included in Niklaus Wirth's 2007 paper: 'An Oberon
> Compiler for the ARM Processor'. You can download a copy of that document
> from:
>
> http://www.inf.ethz.ch/personal/wirth/Oberon/index.html
>
> NOTE: The document describes Wirth's ARM Oberon-07 compiler that was the
> immediate predecessor to his FPGA RISC compiler used in Project Oberon.
> There will be some differences from the instruction sequences generated by
> the ARM Oberon-2 compiler (a port of Regis Crelier's OP2 compiler?) that you
> are running on the Raspberry Pi.
>
> Regards,
>
> Chris Burrows
> CFB Software
> http://www.astrobe.com
>
>
>
>
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon
>



More information about the Oberon mailing list