Eletrônica
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.
loading...
-
Disassembly Da Rom Da Interface De Drive Cas
Depois de um longuíssimo tempo, finalmente um clone brasileiro da interface de drive Beta 48 tem sua ROM totalmente desmontada (disassembly) e analisada. O primeiro trabalho que tenho conhecimento nesse sentido é o disassembly comentado da ROM da interface...
-
Atualização Dos Arquivos De Rótulos Para Assembler
Há tempos atrás eu postei sobre os arquivos de cabeçalhos (headers) com rótulos para a programação assembly Z80 no TK90X. Resolvi retomar este assunto e atualizar algumas coisas. Fonte da imagem: Cygnus Um rótulo é um nome empregado para representar...
-
Novas Versões De Arquivos Header
Fiz atualizações em dois arquivos de cabeçalho (header) para programação Assembly Z80 no TK90X. Os arquivos ficam neste subdiretório para serem baixados. Os que foram modificados são: Header_Joystick.asm (versão 1.3) com a inclusão dos rótulos...
-
Consumo De Ram Da Beta 48 E 128
Uma das coisas complicadas de se adaptar programas da fita cassete para a interface de drive Beta é a memória. O sistema operacional TR-DOS usa 112 bytes extras de RAM para as suas próprias variáveis de sistema, nos endereços 23734 a 23845 (#5CB6...
-
Lsd Megademo (pentagram)
Mais um demo para TK90X com Explorer foi adaptado para a interface de drive padrão Beta 48, o LSD Megademo do grupo Pentagram. Uma dificuldade adicional na adaptação foi a presença de código de máquina dentro de linha BASIC, prática que...
Eletrônica