Tal como nos referimos previamente a cross-assemblers, existem também cross-disassemblers para a plataforma de ZX Spectrum. Dado as limitações de memória da plataforma, é também muito mais conveniente desassemblar e estudar software em plataformas mais recentes.
Existe para Unix, Linux e OS/X. Temos usado em Mac e Linux. Em Linux pode-se simplesmente instalar o pacote com o mesmo nome.
z80dasm -a -l -g 0x4009 -t --block-def=blocks.data ebdt2019STD.p
Como exemplo de uso, para desassemblar um binário:
- a - imprimir o endereço do opcode desassemblado em comentário
- g - o endereço em que o binário é corrido na máquina
- t - imprimir os bytes desassemblados
- block-def - definir zonas de dados
Para mais detalhes, ver o URL com página do manual mais acima.
O dz80 tem binários para Windows. Existem também binários para Linux e alguns antigos para Mac, mas nesse caso, é preferível usar o z80dasm, que é uma evolução deste.
Note-se no entanto que, por exemplo, o formato TAP não está comprimido, os ficheiros Z80 estão comprimidos, e o TZX é o formato de sinais de cassete e não dão para ser desassemblados directamente, pelo que alguns formatos poderão precisar de algum tratamento para serem desassemblados.
- IDA 5.0 Freeware https://www.scummvm.org/frs/extras/IDA/idafree50.exe
- SkoolKit
Ver também um disassembler online em: https://onlinedisassembler.com/
Nota: não confundir disassemblers estáticos com debuggers, que seguem a execução de código, emulado ou não, em tempo real.
Sem comentários:
Enviar um comentário