Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Em geral, o assembler do Microsoft ARM usa a linguagem de assembly do ARM, que está documentada no Guia de Referência de armasm do Compilador do ARM. No entanto, as implementações da Microsoft de algumas diretivas de assembly diferem das diretivas de assembly do ARM. Este artigo explica as diferenças.
Implementações da Microsoft de diretivas de assembly do ARM
AREAO assembler do Microsoft ARM dá suporte a estes atributos
AREA:ALIGN,CODE,CODEALIGN,DATA,NOINIT,READONLY,READWRITE,THUMB,ARM.Todos, exceto
THUMBeARM, funcionam conforme documentado no Guia de Referência de armasm do Compilador do ARM.No assembler do Microsoft ARM,
THUMBindica que uma seçãoCODEcontém código Thumb e é o padrão para seçõesCODE.ARMindica que a seção contém código ARM.ATTRNão há suporte.
CODE16Não há suporte porque implica sintaxe Thumb pré-UAL, que o assembler do Microsoft ARM não permite. Em vez disso, use a diretiva
THUMB, juntamente com a sintaxe UAL.COMMONNão há suporte para a especificação de um alinhamento para a região comum.
DCDONão há suporte.
DN,QN,SNNão há suporte para a especificação de um tipo ou uma faixa no alias de registro.
ENTRYNão há suporte.
EQUNão há suporte para a especificação de um tipo para o símbolo definido.
EXPORTeGLOBALEspecifica as exportações usando esta sintaxe:
EXPORT|GLOBALsymbol{[type]}symbolé o símbolo a ser exportado.[type], se especificado, pode ser[DATA]para indicar que o símbolo aponta para dados ou[FUNC]para indicar que o símbolo aponta para código.GLOBALé sinônimo deEXPORT.EXPORTASNão há suporte.
FRAMENão há suporte.
FUNCTIONePROCA sintaxe do assembly permite que você especifique uma convenção de chamada personalizada nos procedimentos: você lista os registros que são salvos pelo chamador e os que são salvos pelo computador chamado. No entanto, enquanto o assembler do Microsoft ARM aceita a sintaxe, ele ignora as listas de registros. As informações de depuração produzidas pelo assembler dão suporte apenas à convenção de chamada padrão.
IMPORTeEXTERNEspecifica as importações usando esta sintaxe:
IMPORT|EXTERNsymbol, WEAKalias{ {, TYPEt}}symbolé o nome do símbolo a ser importado.Se
WEAKaliasfor especificado, indica quesymbolé um externo fraco. Se uma definição para isso não for encontrada no tempo de vinculação, todas as referências serão associadas aalias.Se
TYPEtfor especificado,tindica como o vinculador deve tentar resolversymbol. Estes valores paratsão possíveis:Valor Description 1 Não pesquise bibliotecas por symbol.2 Pesquise bibliotecas por symbol.3 symbolé um alias paraalias(padrão).EXTERNé um sinônimo paraIMPORT, exceto quesymbolé importado somente se há referências a ele no assembly atual.MACRONão há suporte para o uso de uma variável para manter o código de condição de uma macro. Não há suporte para valores padrão para parâmetros de macro.
NOFPNão há suporte.
OPT,TTL,SUBTNão há suporte, pois o assembler do Microsoft ARM não produz listagens.
PRESERVE8Não há suporte.
RELOCRELOC nsó pode seguir uma instrução ou uma diretiva de definição de dados. Não há nenhum "símbolo anônimo" que possa ser realocado.REQUIRENão há suporte.
REQUIRE8Não há suporte.
THUMBXNão há suporte, pois o assembler do Microsoft ARM não dá suporte ao conjunto de instruções Thumb-2EE.
Confira também
Referência de linha de comando do assembler ARM
Mensagens de diagnóstico do assembler ARM