Arrays (vetores) em Assembly - A diretiva TIMES

Neste tutorial de nosso Curso de Assembly, iremos continuar falando sobre a alocação de memória.
No caso, falaremos de alocação de blocos contínuos de memória, popularmente conhecidos como vetores (C, C++) ou arrays (Java).

Lembramos que vetores e arrays em Assembly são um vasto conteúdo, há uma série de possibilidades e conceitos por trás desta ideia, e ainda veremos muito sobre o assunto em nosso curso.
Porém, este tutorial está na seção básica e se destina a apresentar as ideias iniciais, alocação e inicialização de elementos de um vetor.

O livro Professional Assembly Language é bom?

Análise e review completo do livro, curso Assembly ProgressivoOk, é um fato: existe poucas pessoas interessadas em estudar Assembly, poucas que sabem, menos ainda pessoas que explicam bem e livros do assunto são simplesmente raros.

Embora a literatura seja pouca (até mesmo na internet), existem bons materiais disponíveis e é sobre um desses materiais que vamos fazer agora um review, o excelente livro: Livro Professional Assembly Language


Define - Como alocar memória Assembly - RES, como reservar memória

Se você estudou somente linguagens de altíssimo nível, como as de linguagens de script, com certeza nunca se preocupou em alocar memória, pois é tudo feito automaticamente por debaixo dos panos.

Se estudou linguagens como C ou Java, você alocava espaço na memória ao declarar variáveis e estruturas (em C é possível ainda, a alocação dinâmica de memória).

Nesse tutorial de nosso curso de Assembly, vamos aprender como reservar espaço em disco em Assembly, ver quais as diferenças e peculiaridades nessa linguagem de baixo nível.

O que é e como usar um Label (rótulo) em Assembly

Agora que já vimos no artigo passado o escopo e organização de um programa em Assembly, vamos iniciar nossos estudos em programação mesmo, com exemplos reais de códigos ou trechos de código-fonte.

Neste tutorial de nosso curso Assembly Progressivo, vamos iniciar os nossos estudos das instruções em Assembly, explicando o que são os labels, labels internos (ou locais), dando exemplos de uso e mostrando para que servem.

Como programar em Assembly no Linux – Instalando o Assembler NASM

Para começarmos a programar na linguagem de programação Assembly, precisamos de um programando chamado Assembler, que irá converter nosso código para um código que a máquina irá entender.

Vamos usar o NASM (NetWide Assembler), que pode ser usado no Windows ou no Linux.
Nesse tutorial de nosso curso de Assembly, vamos ensinar como instalar esse Assembler no sistema operacional Linux.

Para programar em Assembly, iremos usar corriqueiramente o terminal do Linux, tanto na instalação como na montagem de nossos códigos-fonte, para criar os programas.

Sections e _start: A divisão do código-fonte Assembly - A diretiva global


Quando um executável vai rodar, ele precisa saber a partir de onde, no código, ele começa a rodar.

Em programação, começar do começo não é algo comum.
Tendo em vista esses dados sobre a informação da ordem das coisas em um código, vamos falar neste tutorial de Assembly sobre as seções (sections) de um arquivo-fonte em Assembly.

Como criar object files (código objeto) e linkar arquivos em Assembly

No tutorial passado de nossa apostila, ensinamos como criar um programa em Assembly, o famoso e simples "Hello world".

Lá, mostramos como criar o arquivo com a extensão asm.
Ao término deste tutorial, você irá aprender como transformar esse arquivo em executável, e executá-lo.

Primeiro programa em Assembly - Como fazer o Hello World (Olá Mundo)

Agora que você já sabe instalar o NASM, vamos ensinar como criar seu programa em Assembly.

É um texto com o código em Assembly para você ir se familiarizando.
Tenha em mente que este é apenas o primeiro passo para programar nessa linguagem.
Nos próximos tutoriais vamos ensinar os procedimentos para executar um programa em Assembly, bem como explicar detalhadamente o significado de cada comando nessa verdadeira sopa de letrinhas.

Não se assuste, em breve você entenderá tudo perfeitamente e dominará esse bela e poderosa linguagem de programação.

Como programar em Assembly no Windows – Instalando o Assembler NASM

Para começarmos a programar na linguagem de programação Assembly, precisamos de um programando chamado Assembler, que irá converter nosso código para um código que a máquina irá entender.

Vamos usar o NASM (NetWide Assembler), que pode ser usado no Windows ou no Linux.
Nesse tutorial de nosso curso de Assembly, vamos ensinar como instalar esse Assembler no sistema operacional Windows.

Diferente do que os usuários de Windows devem estar acostumados, a utilização desse programa se dará pelo terminal de comando, o MS-DOS (sim, aquela tela preta).

As desvantagens e dificuldades do Assembly


Agora que você já leu sobre ‘A melhor linguagem de programação’, e sabe da santa verdade, vamos entrar em detalhes sobre o uso do Assembly.

Nesse artigo vamos discutir as as desvantagens da linguagem.
Vamos mostrar os problemas de se programar nessa linguagem e que vão pesar na hora de você decidir que tecnologia deve usar para seu sistema.

Assembly é a melhor linguagem de programação?


É comum vermos na internet, principalmente em fóruns, pessoas falando que linguagem X é melhor que Y, que Y paga melhor que a linguagem Z, que linguagem isso é mais ‘foda’ que linguagem aquela.

Ignore, totalmente, esses tipos de comentários e pessoas.
Não existe melhor linguagem, existem linguagens e tecnologias mais indicadas para cada tipo de problema.

Como começar a programar em Assembly


Conforme foi explicado no tutorial passado, sobre os níveis de abstração da programação na computação, existem vários tipos de Assembly pois essa linguagem trabalha diretamente no hardware, e como você sabe, existem diversos tipos de hardwares (processadores, para sermos mais específicos).

Portanto, é necessário que seja feita algumas escolhas.
Vamos escolher as mais comuns, abrangentes e de fácil acesso possível.

Onde o Assembly age: Níveis de abstração na Computação


Para entender um pouco mais de Assembly, precisamos explanar os diversos níveis de abstração que um computador possui. Dentro dessa ordem de níveis, o Assembly se encontra mais abaixo, mais próximo do hardware, por isso é dito ser uma linguagem de baixo nível.

Para entender melhor, vamos começar de cima, de onde você provavelmente deve estar agora, ao ler esse tutorial de Assembly.