27-Sep-2012

IA64 disassembly options

For reasons that shall remain obscure I've been looking at how to disassemble IA64 executable images.

There are a few options.

The first is there is apparently a standalone disassembler that was delivered with the IA64 assembler. Unfortunately, you can only get your hands on this if you are a company member of Alliance One (the old DSPP program).

But wait! I came across an unanswered question on COMP.OS.VMS asking about ANALYZE/DISASSEMBLE. Well, as this is undocumented obscure (meaning I'd missed it in the release notes), I had no idea it was there until I found this posting to C.O.V. It turns out that ANALYZE/DISASSEMBLE filename.OBJ will disassemble an IA64 object file. That looked promising...

And it turns out that ANALYZE/IMAGE/SEGMENT=CODE filename.EXE will disassemble an IA64 executable.

A one-liner in the online help says "Segment data is displayed as machine instructions".

Who'd a thunk it?

P.S. if you're feeling like constructing a purpose-written tool, the SDA extension API routine SDA$INSTRUCTION_DECODE looks just the ticket.

Posted at September 27, 2012 5:56 PM
Comments

You are digging in some truly obscure corners. I hope it's fun :-)

Posted by: Ian Miller at September 27, 2012 8:27 PM

Comments are closed