domingo, 10 de junho de 2012

Headers para programação em Assembly Z80

Quando se elabora um programa em Assembly Z80, os códigos se tornam mais legíveis quando são utilizados rótulos para endereços e valores empregados pelas instruções. Alguns rótulos acabam aparecendo repetidamente e seria mais interessante criar um arquivo separado, para ser incluído (com a pseudo-instrução INCLUDE) durante a montagem (assembly).

Com isto em mente, criei alguns arquivos que chamei de header (cabeçalho) com constantes úteis para os programadores do TK90X

Estes arquivos estão compartilhados no Google Drive, neste link. No momento há os arquivos header headers:
  • Header_Basic.asm Headers_Basic.asm (variáveis de sistemas e rotinas da ROM relacionadas ao BASIC);
  • Header_Keyboard.asm Headers_Keyboard.asm (constantes, variáveis de sistema e rotinas da ROM relacionadas com leitura do teclado);
  • Header_Joystick.asm Headers_Joystick.asm (constantes relacionadas à leitura de joystick);
  • Header_Print.asm Headers_Print.asm (constantes, variáveis de sistemas e rotinas da ROM relacionadas com impressão de caracteres e mensagens);
  • Header_Beta48_common.asm Headers_Beta48_common.asm (variáveis de sistemas relacionadas com interface de drive padrão Beta 48);
  • Header_Beta48_CAS.asm Headers_Beta48_CAS.asm (variáveis de sistemas e rotinas da ROM relacionadas com interface de drive padrão Beta 48 da Technology Research e da CAS);
  • Header_Beta48_CBI.asm Headers_Beta48_CBI.asm (variáveis de sistemas e rotinas da ROM relacionadas com interface de drive padrão Beta 48 da CBI, IDS e Arcade).
Muitos deste rótulos foram tomados do livro "O Sistema Operativo do Spectrum: ROM Disassembly" de Ian Logan e Frank O'Hara.  Algums símbolos, quando passível de confusão, foram substituídos (por exemplo hífen pelo underline, para não confundir com a operação de subtração). As nomenclaturas envolvendo a interface Beta 48, por se originar de trabalho incompleto de desassembly da ROM da interface de drive, podem sofrer mudanças no futuro.

Estes são trabalhos em andamento, por isso serão atualizados de tempo em tempo. Sempre que eu fizer alguma modificação, notificarei neste blog.

Nenhum comentário:

Postar um comentário

Seu comentário é bem vindo, mas peço que use este espaço adequadamente.