ARMada

ARMada is a THUMB mode ASM-compiler for ARM7TDMI-processors like those in Nokia DCT-3 phones.
32-bit ARM code is not supported and also won’t be.

ARMada now supports also ARM32 code!

ARMada compiles the code right while you are entering it, so you can see if there is an error somewhere.
special features:

  • output format: TriX, g3n0lite script (.gsc) [CODE] blocks, hex dump
  • can inject the produced code directly into files
  • simple, but very fast assembler
  • easily extensible if requested
  • supports embedding into own applications
  • now supports ARM32 code via “.code 32” tokens

here the download link: ARMada_v3.4

some real-word examples:
patching a BL in some file

//
// generate BL instruction at address 0x006E9460
// that branches to 0x004F9328
//
// if a file is opened, inject this instruction at
// file offset 0x1180
//
// also output the generated bytes
//
.org 0x006E9460
.inj 0x1180
.ens LITTLE_ENDIAN
.hex

BL $0x004F9328

patching multiple instructions in one file at once:

.sub some_name_here
  .org 0x006E9460
  .inj 0x1180
  .ens LITTLE_ENDIAN
  .hex

  BL $0x004F9328
.end

.sub some_name_here
  .org 0x006E9480
  .inj 0x11A0
  .ens LITTLE_ENDIAN
  .hex

  NOP
.end