/ / Programação: linguagem assembly. Fundamentos da linguagem assembly

Programação: linguagem assembly. Fundamentos da linguagem assembly

Para que a máquina execute comandosuma pessoa no nível do hardware, é necessário definir uma certa sequência de ações na linguagem de "zeros e uns". A montadora passará a ser auxiliar neste assunto. É um utilitário que trabalha com a tradução de comandos em linguagem de máquina. No entanto, escrever um programa é um processo muito trabalhoso e complicado. Esta linguagem não se destina a criar ações fáceis e simples. No momento, qualquer linguagem de programação usada (Assembler funciona muito bem) permite que você escreva tarefas eficientes especiais que afetam muito a operação do hardware. O objetivo principal é criar microinstruções e pequenos códigos. Esta linguagem oferece mais possibilidades do que, por exemplo, Pascal ou C.

linguagem assembly

Uma breve descrição das linguagens Assembler

Todas as linguagens de programação são divididas em níveis:baixo e alto. Qualquer um dos sistemas sintáticos da "família" de Assembler difere no sentido de que reúne de uma vez algumas das vantagens das linguagens mais difundidas e modernas. Eles estão relacionados a outros pelo fato de que o sistema do computador pode ser totalmente utilizado.

Uma característica distintiva do compilador éfácil de usar. Isso é o que o diferencia daqueles que funcionam apenas com níveis altos. Se você levar em conta qualquer uma dessas linguagens de programação, o Assembler é duas vezes mais rápido e melhor. Não demora muito para escrever um programa leve nele.

Resumidamente sobre a estrutura da língua

Falando de maneira geral sobre trabalho e estruturao funcionamento da linguagem, podemos dizer com certeza que seus comandos correspondem plenamente aos do processador. Ou seja, o Assembler usa os códigos mnemônicos mais convenientes para serem escritos por humanos.

Ao contrário de outras linguagens de programação,O montador usa rótulos específicos em vez de endereços para gravar locais de memória. Eles são traduzidos nas chamadas diretivas com o processo de execução do código. Esses são endereços relativos que não afetam o processador (não são traduzidos para a linguagem de máquina), mas são necessários para reconhecimento pelo próprio ambiente de programação.

Cada linha do processador tem seu próprio conjunto de instruções. Nesta situação, qualquer processo estará correto, inclusive o código de máquina traduzido.

A linguagem assembly tem várias sintaxes, que serão discutidas no artigo.

linguagem assembly

Vantagens da linguagem

A adaptação de linguagem mais importante e convenienteO montador permitirá que você escreva qualquer programa para o processador nele, que será muito compacto. Se o código for enorme, o ambiente de programação redirecionará alguns processos para a RAM. Ao mesmo tempo, eles fazem tudo com bastante rapidez e sem falhas, a menos, é claro, que sejam controlados por um programador qualificado.

Drivers, sistemas operacionais, BIOS, compiladores, interpretadores, etc., são todos programas em linguagem assembly.

Ao usar um desmontador quefaz uma tradução de máquina para linguagem de computador, você pode entender facilmente como uma tarefa específica do sistema funciona, mesmo que não haja explicação para isso. No entanto, isso só é possível se os programas forem leves. Infelizmente, é muito difícil entender códigos não triviais.

Contras da linguagem

Infelizmente, os programadores novatos (e muitas vezesprofissionais) é difícil decifrar a língua. O montador requer uma descrição detalhada do comando necessário. Devido à necessidade de usar instruções de máquina, a probabilidade de ações errôneas e a complexidade de execução aumentam.

Para escrever até mesmo o programa mais simples, um programador deve ser qualificado e seu nível de conhecimento é alto o suficiente. O especialista médio, infelizmente, costuma escrever códigos ruins.

Se a plataforma para a qual o programa está sendo criadofor atualizado, todos os comandos devem ser reescritos manualmente - isso é exigido pela própria linguagem. O montador não suporta a função de regulação automática da saúde dos processos e substituição de quaisquer elementos.

programa de linguagem assembly

Comandos de linguagem

Conforme mencionado acima, cada processador possui seu próprio conjunto de instruções. Os elementos mais simples que são reconhecidos por qualquer tipo são os seguintes códigos:

  • A transferência de dados é feita usando mov, etc.
  • Comandos relacionados à aritmética: sub, imul, etc.
  • Funções bit a bit e lógicas podem ser implementadas usando ou, e, e assim por diante. São esses princípios básicos do Assembly que permitem que ele seja semelhante a outros.
  • Para fazer a transição de umcomandos para outro, você deve escrever os seguintes operadores: djnz, cfsneq, cjne. Para um programador inexperiente, pode parecer que se trata apenas de uma coleção de letras, mas isso não é verdade.
  • A entrada e a saída são usadas quando há necessidade de entrada para (ou saída de) uma porta.
  • Os comandos de controle incluem int. Graças a ele, você pode interromper a execução de qualquer processo em favor da ação principal.
    programação de microcontroladores em linguagem assembly

Usando diretivas

Programação de microcontroladores na linguagem(O montador permite isso e faz um excelente trabalho de funcionamento) o nível mais baixo na maioria dos casos termina bem. É melhor usar processadores com recursos limitados. Para a tecnologia de 32 bits, essa linguagem é perfeita. Muitas vezes você pode ver diretivas em códigos. O que é isso? E para que é usado?

Primeiro, você precisa se concentrar no fato de queas diretivas não são traduzidas para a linguagem de máquina. Eles governam como o compilador funciona. Ao contrário dos comandos, esses parâmetros, tendo funções diferentes, diferem não devido a processadores diferentes, mas devido a um tradutor diferente. Entre as principais diretrizes estão as seguintes:

  • Macros conhecidas.
  • Também existem diretrizes que a linguagem superior possui. O montador os "lê" perfeitamente e os executa.
  • Funções de controle e gerenciamento de modos de compilador.
  • Reconhecimento de constantes e variáveis.
  • Regulação do trabalho dos programas que estão na RAM.
    linguagem de montagem de código de máquina

Origem do nome

Graças a que a linguagem ganhou seu nome"Montador"? Estamos falando de um tradutor e um compilador, que criptografa dados. Em inglês, Assembler significa nada mais do que um assembler. O programa não foi montado manualmente, foi utilizada uma estrutura automática. Além disso, no momento, a diferença entre os termos já desapareceu dos usuários e especialistas. A linguagem assembly é frequentemente chamada de linguagens de programação, embora seja apenas um utilitário.

Devido ao nome coletivo geralmente aceito paraalgumas pessoas pensam erroneamente que existe uma única linguagem de baixo nível (ou normas padrão para ela). Para que o programador entenda de que estrutura estamos falando, é necessário esclarecer para qual plataforma esta ou aquela linguagem Assembly é utilizada.

conceitos básicos da linguagem assembly

Ferramentas macro

Linguagens assembly que são construídas relativamenterecentemente, tem fundos macro. Eles tornam o programa mais fácil de escrever e executar. Devido à sua presença, o tradutor executa o código escrito muitas vezes mais rápido. Ao criar uma seleção condicional, você pode escrever um grande bloco de comandos, mas é mais fácil usar ferramentas de macro. Eles permitirão que você alterne rapidamente entre as ações em caso de cumprimento de uma condição ou não cumprimento.

Ao usar diretivas da linguagem macro, o programadorobtém macros do assembler. Às vezes, pode ser amplamente usado e às vezes sua funcionalidade é reduzida a um comando. Sua presença no código facilita o trabalho, torna-o mais claro e intuitivo. No entanto, você ainda deve ter cuidado - em alguns casos, macros, ao contrário, pioram a situação.

Gostei:
0
Posts populares
Desenvolvimento Espiritual
Alimento
sim