ARMalyser version 0.46

Skip to first unread message

David J. Ruck

Aug 18, 2003, 5:26:57 PM8/18/03

ARMalayser version 0.46 is now available from

Main Changes

The main change in this release is an improvement to the "conditional after
BL/SWI" error detection. ARMalyser now has knowledge of SWIs that return C &
Z flags so for example a BCS/BCC after OS_ReadEscapeState wont be faulted.
Branches on the V flag are only accepted if the SWI has the X bit set (this
has brought to attention many instances of BVS after non X SWI's). Branches
on the V flag after subroutines are now faulted if the subroutine preserves
flags in 26bit mode.

Enhancements and fixes in this release

* Dynamic branches with R14=PC+4 trated as subroutine
* Flag modifications tracked over dynamic branch subroutines
* Instruction latency cycles added to register trace output
* Total instruction latency cycles display option
* Branch throughput latency corrected
* OS_ReadLine32, OS_SubstituteArgs32, OS_HeapSort32 added
* Mnemonic field length alterd in assem and dissassem modes
* Brkpt marked as unpredictable if conditional
* Error block marked on MSR CSPR_f,#Vflag
* Width of SWI names in assembler EQU table mode increased
* Detection of branch to thumb mode fixed
* Removed banked register warning for PC
* PSR state invalidated after flag setting DP instruction
* Z & C flag returning SWI knowledge added
* Conditional after BL/SWI improved to use SWI BL flag info
* Base field removed from discontiguous enum debug display
* Debug SourcePos comment spelling corrected

Background information

ARMalyser is an ARM code analyser that understands RISC OS executable,
module, utility, object and library formats. It can output disassembler or
ObjAsm assembly styles, in plain text, fully hyperlinked and syntax coloured
HTML, XML, or custom formats for import into Impression, TechWriter and
Ovation Pro.

It has extensive analysis features to detect problems that may be encountered
when converting code to 32bit, and the assembler output may be used as a
basis to produce 32bit versions of code where the sources are not available.

It is available for RISC OS with a desktop front end, and command line
versions for Win32, ARM Linux, x86 Linux and x86 Open BSD.

_ __ __ __
THE /_\ |__) |\ /| / | | | |__) David J. Ruck
/ \ | \ | \/ | \__ |__ |__| |__)

_______________________________________________________________, Moderator of comp.sys.acorn.announce.
Submissions to
Related mail to

Reply all
Reply to author
0 new messages