

                      Desktop ARM Code Disassembler

                             by Majid Anwar

When run, this application opens a window. Dragging a file into this window loads that file into memory and displays a disassembly of it in the window. The code is disassembled as if the first byte in the file were at address 0. This makes the program suitable for examining modules and utilities, but not applications.

Double clicking over any hex address in the display (e.g. after a Branch instruction) will scroll the display so that the address is at the top of the display.

Clicking Menu over the display creates a menu containing four options. Info simply leads to a standard 'About this program' dialogue box. Choosing Print will print the entire disassembly. Goto address allows a hex address to be entered. The display is then scrolled so that the given address is at the top of the display. The address is evaluated using EVAL, so it may be an expression.

Base offset leads to a submenu enabling the disassembly offset to be set to either zero, for modules, utilities and other position independent code, or &8000, for applications.

Find next leads to a submenu, enabling the user to search for the next occurrence of a given 32-bit word, byte, mnemonic or string. Find mnemonic finds the next line containing the given string within the mnemonic field, starting at the second visible line of the display. Find string finds the next occurrence of the given string; the search is not case sensitive.

The pathname of the file is displayed in the window's title bar. Closing the window terminates the program. If the window is closed with Adjust then a viewer is opened for the directory which contained the loaded file.

An example machine code utility !DAssemble.Config is provided for demonstration purposes.

Copyright 1991 Majid Anwar.
