User Tools

Site Tools


daedalus

This is an old revision of the document!


Montador DAEDALUS

Descrição Geral

Montador para os computadores AHMES, RAMSES e CESAR. Esse programa pode ser usado para editar um arquivo fonte na linguagem assembly e para montar os arquivos “.mem” onde estão as instruções que poderão ser executadas no simulador adequado. Os arquivos fonte são formados por linhas que podem ser de dois tipos:

  • linhas de instruções
  • linhas de diretivas

Linhas de Instruções

As linhas que formam um arquivo fonte para ser montado através do DAEDALUS tem a seguinte forma geral:

Rótulo Mnemônico Operandos Comentários

O rótulo (label) é um símbolo definido pelo usuário ao qual é atribuído o valor corrente do contador de programa. Esse símbolo e seu valor associado é colocado na Tabela de Símbolos do montador. O uso de um rótulo é opcional e sua definição deve obedecer às seguintes regras:

  • não podem ser redefinidos (só podem ser definidos uma única vez);
  • devem começar na primeira posição da linha (coluna 1);
  • devem ser seguidos por um caractere dois-pontos (“:”), que não faz parte do rótulo.

O mnemônico é uma sequencia de letras que identifica uma instrução da máquina para a qual se está escrevendo o programa. O mnemônico deve ser colocado a direita do rótulo (se houver) ou a partir da posição 2 da linha. A lista de mnemônicos válidos depende da cada computador. O uso de um mnemônico em uma linha é opcional. Mas, uma vez usado, devem ser fornecidos os operandos adequados.

Os operandos são os parâmetros da instrução. Uma instrução pode requerer o uso de zero (nenhum) ou mais operandos, que devem ser separados por um delimitador (caractere space ou vírgula). O seu uso é obrigatório, quando usando instruções que requeiram operandos. Caso contrário, não devem ser utilizados.

Finalmente, os comentários devem iniciar com “;” (ponto-e-vírgula) e se extende até o final da linha. O uso de comentários é opcional.

Linhas de Diretivas

Todo o montador requer que o arquivo fonte utilize diretivas (comandos) para orientar a forma como deve ser realizada a montagem dos programas. No Daedalus, uma linha com diretivas tem o formato semelhante ao de uma linha de instrução.

Notar que, diferentemente de uma linha de instrução, uma linha com diretiva (também chamada de pseudo-instrução) atua sobre o processo de montagem do fonte. Ela não produz qualquer código executável. No máximo elas são capazes de reservar e inicializar espaços de dados para o programa. Essa linha tem a seguinte forma:

Nome Diretiva Operandos Comentários

O nome é um símbolo definido pelo usuário ao qual é atribuído um valor que depende da diretiva usada para defini-lo. Algumas diretivas exigem o uso de um “nome” que lhe antecede na linha; em outras o uso de um “nome” é opcional. De forma semelhante aos rótulos, os nome devem obedecer às seguintes regras:

  • não podem ser redefinidos (só podem ser definidos uma única vez);
  • devem começar na primeira posição da linha (coluna 1);
  • devem ser seguidos por um caractere dois-pontos (“:”), que não faz parte do nome.

A diretiva define como o montador deve operar. Essa operação pode ser relativa a própria linha apenas ou pode indicar como proceder em todo o fonte a partir do ponto onde foi definida a diretiva. As diretivas tratadas pelo montador são as seguintes:

  • EQU
  • ORG
  • DB
  • DW
  • DAB
  • DAW

Os operandos são os parâmetros da diretiva. Uma diretiva pode requerer o uso de zero (nenhum) ou mais operandos, que devem ser separados por um delimitador (caractere space ou vírgula). A quantidade de operandos assim como a sua obrigatoriedade depende de cada diretiva.

Os comentários seguem as mesmas regras já descritas.

daedalus.1460133547.txt.gz · Last modified: 2016/08/08 16:30 (external edit)