question

como compilar o codigo de linguagem assembly?

im realmente não sei como funciona. se de um compilador, terminal, lote programação ou o que
resposta Resposta
Código assembly é apenas um arquivo de texto, como C e muitas outras línguas. Como C, é usada uma ferramenta para converter em um arquivo de objeto. A ferramenta é chamada um "montador". Mas isso provavelmente pode legitimamente ser chamado um compilador, também. Algumas montadoras têm sido conhecidas a reorganizar o seu código de assembly para preencher coisas como ramo atraso slots (MIPS R2000 e, mais tarde, por exemplo.)

Linguagens assembly são específicas para uma família de cpu ou instância. E não é incomum que haja vários idiomas assembly para a exata mesma cpu. O MSP de instrumentos de Texas-430, por exemplo, tem no mínimo três idiomas diferentes assembly para isto. O objetivo é o mesmo, mas diferentes grupos estão empurrando a diferentes formas de escrever a mesma coisa para seus próprios fins. Então às vezes você pegar mais de um para a mesma cpu.

Uma vez que o montador é feito com a conversão de um arquivo de origem para um arquivo de objeto, ou vários arquivos de origem em vários arquivos de objeto, um vinculador então é invocado para coletar os arquivos de objeto (juntamente com qualquer arquivos de biblioteca necessários, que mantêm coleções de arquivos de objeto) e colá-los juntos em uma única unidade de executável. Então é muito parecido com o compilador normal toolchains.

Você pode depurar em assembly, bem como, assim como com outras línguas.

Você pode usar uma variedade de ferramentas para experimentar a linguagem assembly. Se você está interessado no código x 86 família assembly usando a sintaxe do Microsoft (aí é sintaxe Intel, que é um pouco diferente, e sintaxe TASM que principalmente é semelhante, mas novamente diferente em alguns aspectos da Microsoft), em seguida, você pode baixar gratuitamente Visual Studio da Microsoft. Nos diretórios instalados, você irá encontrar o ML.Arquivo EXE, que é sua ferramenta de montador. É no subdiretório VCbin do diretório instalado.

No meu caso aqui é: C:\Program Files (x86) \Microsoft Visual Studio 11.0\VC\bin>ml Microsoft (R) Macro Assembler versão 11.00.60315.1 Copyright (C) Microsoft Corporation.  Todos os direitos reservados.

    uso: filelist ML [opções] [linkoptions /link] Run "ML help" ou "ML /?" para mais informação C:\Program Files (x86) \Microsoft Visual Studio 11.0\VC\bin > você pode ver o número de versão impresso lá fora. Usá-lo no prompt do DOS ou encontrar um IDE para ele.

Ao contrário do que a maioria das pessoas sabe, há razões muito boas para código assembly até hoje. É particularmente útil para codificação no PC e quando você deseja acessar semântica que simplesmente não está disponível em línguas que você estiver usando o BIOS. Você também pode escrever muito código mais rápido. Dois anos atrás comecei um desafio a encontrar qualquer compilador de C que poderia compilar uma função simples, assim como ele pode ser mão-codificado. Muitos compiladores C foram julgados com optimations máxima, mas o melhor que qualquer um poderia fazer era apenas metade que um assembly codificador poderia alcançar facilmente por ele. E isso foi mesmo com as exigências da função, sendo C callable, que acabou forçando o código de assembly a ser mais lento do que poderia ter sido. Tecnologia de compilador, como entregue na prática, simplesmente não pode realizar inversões de topologia ou muitos outros métodos de otimização (saber sobre cache tamanhos e camadas, leia-se em torno de modos de gravação em autocarros, slots de unidade funcional ocioso de enchimento, movendo o código através de bordas, etc.) que a mente humana pode gerenciar. Por outro lado, os compiladores são muito bons em contabilidade. Então algumas coisas que eles fazem, assim como qualquer humano faz e muitas vezes mais consistentemente. Mas, em geral, não.

Dito isto e eu tenho quatro décadas do conjunto de codificação de experiência e mais de três décadas de experiência em programação C e ter escrito um compilador C, tão bem, hoje eu uso de linguagens de alto nível, bem como o conjunto de codificação em uma mistura que é melhor do que qualquer sozinho. É uma boa habilidade de saber bem. Há semântica disponíveis no assembly que não pode conter nenhum idioma único. Você aprende muita coisa de assembly de aprendizagem codificação. E você será um programador melhor em linguagens de alto nível para o conhecimento, também. Então têm-no!

Olha o uso de ML e escreva-me se precisar de qualquer exemplos de codificação ou explicações.

Comentários Comentários

Guest
Larissa Juárez na 13 Jan 2014
0
Linguagem assembly é montada, não compilado. Linguagem assembly também é diferente para cada modelo de computador. Não tem nada a ver com terminais ou programação de lote. Você não precisa qualquer matemática para escrever programas de computador, especialmente em linguagem assembly. A única vez que você usar a matemática em programação de computadores é que se você estiver escrevendo programas para fazer contas. Claramente, algumas pessoas aqui respondendo na verdade não usei linguagem assembly. Montadoras populares para PCs baseados em Intel incluem MASM e A86. Mas o gcc é um compilador com alguma capacidade de montagem limitada, não um verdadeiro assembler.
Guest
Amanda Vásquez na 20 Fev 2014
0
Em primeiro lugar, você nunca será capaz de escrever a linguagem assembly sem alguma matemática serios... É estupidamente difícil de entender. E tudo o que você precisa fazer para compilá-lo é abrir o bloco de notas, escrever seu código e salve-o como um .exe


Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved