
                         !ARMalyser ARM Code Analyser
                         ============================

                         
Version : 0.62 (16-Oct-2007)


Overview
--------
ARMalyser is an ARM code analyser designed to understand RISC OS executable
and object filetypes, including Absolute, DebImage, Module, Utility, Raw,
AOF,ALF and ELF.

Purpose
-------
It is designed to locate 26bit only instruction sequences in programs to help
porting to 32bit only systems. Its range of output options and recognition
and annotation of file types, code and data structures, makes it useful for
other debugging and investigation purposes. It also contains performance
analysis when ARM7, ARM9, StrongARM or XScale targets are specified.

Output Options
--------------
The analysis can be output in either ARM debugger style disassembly or
ObjAsm style assembly, in plain text, fully syntax coloured and hyperlinked
HTML 4.01 CSS 1.0, XML or a custom tagged format. Custom formats supplied
include HTML 3.2 (no CSS) inverse HTML 3.2, Impression and EasiWriter DDF and
Ovation Pro DDL.

Compatibility and usage 
-----------------------
ARMalyser is available in RISC OS, Win32, ARM Linux and x86 Linux command
line executables, and is supplied with a RISC OS desktop front end
application using the FrontEnd module. Command line syntax is explained in
the Manual.

Note: ARMalyser RISC OS executables are all 32bit and will require the
      32bit Shared C Library update. This is also available to download from
      http://www.armclub.org.uk/free

Limitations of this release
---------------------------
* Not all code will analysed perfectly. Output from Norcroft 5 C/C++ and GCC
  is likely to be handled pretty well. Success with hand written assembler
  will vary considerably.
  
* The assembler output may require manual editing before use.
  
* Many data structures, especially those from analysis of SWI parameters
  are unvalidated.
  
Feedback
--------
Please note, this is a beta release and is not guaranteed fit for any purpose
stated or implied. It is not an ARM Club product and support is provided at
the sole discretion of the author, David J. Ruck.

It is being distributed to the wider public due to positive feedback from a
number of developers, who have found its features useful. I will not have a
huge amount of time to support this application, so it is important that
feedback is selective and precise.

* Please DO let me know if it crashes or hangs on any particular file, and
  provide that file in the bug report - check with me first if it's
  particularly large before emailing.
  
* Please DONT email me saying it doesn't correctly on work on XYZ program,
  I am well aware that it will not handle every piece of code in existence,
  and have no intention of making it do so.
  
  But...

* If after reading the Manual and you understand both the way ARMalyser and
  the file under analysis works, and you can provide a detailed explanation
  on why ARMalsyer misinterpreted a code or data structure, please do so.
  You may find the -xc and -xd options useful to generate analysis backtraces,
  which will show how a particular address has been identified. The -xr option
  will show the known register contents at each address during the analysis
  phase.

Contact
-------
ARMalyser can be obtained from : http://www.armclub.org.uk/free
Feedback should be emailed to  : david.ruck@armclub.org.uk
  
