1.2 Sintaxe

Linguagem Assembly

Duas sintaxes ligeiramente diferentes são suportadas pelas instruções ARM e THUMB. A sintaxe padrão, divided, usa o estilo antigo em que as instruções ARM e THUMB tinham suas próprias sintaxes separadas. A nova sintaxe unificada, que pode ser selecionada através da diretiva .syntax, tem as seguintes características, entre outras:

  • Os operandos imediatos não requerem o prefixo #;
  • Para as instruções ARM, os afixos condicionais sempre aparecem no final da instrução, ou seja, são sufixos;
  • Os sufixos .N e .W são reconhecidos e honrados;
  • As instruções definem os sinalizadores se, e somente se, tiverem um afixo.

Caracteres Especiais:

  • A presença de um caractere “@” em uma linha indica o início de um comentário que se estende até o final da linha;
  • Se um caractere “#” aparecer como o primeiro caractere de uma linha, toda a linha será tratada como um comentário;
  • O caractere ‘;’ pode ser usado em vez de quebra de linha para separar instruções;
  • Podem ser usados os caracteres “#” ou “$” para indicar operandos imediatos.

Rótulos:

  • Um rótulo é um símbolo seguido imediatamente por dois pontos (:). São permitidos espaços em branco antes de um rótulo ou após os dois pontos, mas não pode haver espaços em branco entre o símbolo de um rótulo e seu dois pontos.

Representação de Números Inteiros

  • Binários: ‘0b’ ou ‘0B’ seguido por um ou mais dígitos binários (01).
  • Octais: 0 seguido por zero ou mais dígitos octais (01234567).
  • Decimais: um dígito diferente de zero seguido por zero ou mais dígitos decimais (0123456789)
  • Hexadecimais: ‘0x’ ou ‘0X’ seguido por um ou mais dígitos hexadecimais (0123456789abcdefABCDEF)