This is an old revision of the document!
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:
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:
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.
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:
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:
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.