Este é um novo disassembler para o TK90X, com algoritmo baseado no DisassemBASIC.
Se o programa anterior era 100% em BASIC, o TK Disassembler é totalmente em assembly. Embora tenha sido feito mais como objeto de estudo para mim, acredito que ficou bem usável. Estou disponibilizando o código fonte em assembly repleto de comentário, para facilitar sua compreensão e estudo. Ele consegue decodificar todas as instruções do Z80, incluindo as que não são documentadas pela Zilog. A tela acima é do All Opcodes que contém todas as instruções possíveis. Outro ponto é que consegui fazer o programa ficar razoavelmente pequeno, ocupando 1838 bytes de memória.
Também disponibilizo o arquivo TZX que contém uma versão na parte mais baixa da memória (TKDIS_low), residente a partir de 24500, e outra na parte alta da RAM (TKDIS_high), residente a partir de 60000. Foi incluído também o All Opcodes.
Os programas do TZX não definem os atributos de cores da tela como dá a entender a primeira figura deste artigo. Na verdade, se for dar RUN logo após carregado o programa, a tela fica em preto e branco como na segunda figura, logo acima. O usuário pode escolher as cores diretamente no BASIC, a única coisa que o TK Disassembler faz é diferenciar as colunas da listagem com diferentes valores de BRIGHT.
Aproveitando as duas figuras deste artigo, devo mencionar que o TK Disassembler pode exibir a listagem em decimal (primeira figura) ou hexadecimal (segunda figura).
Para baixar o TK Disassembler, clique neste link. Não sei se ele vai ser útil para alguém. O que posso dizer é que aprendi muito durante seu desenvolvimento.
ficou topíssimo Flavio!! Parabéns!!!
ResponderExcluirObrigado por compartilhar seu conhecimento. Sua postagem é um recurso valioso.
ResponderExcluir