O que é uma instrução macro?
Uma instrução de macro na programação de computadores é uma instrução única que, quando um programa é compilado, é substituída por um bloco de código predefinido. O termo foi originalmente aplicado às instruções usadas na programação em linguagem assembly, nas quais às vezes era necessário um código longo e repetitivo para operações muito simples. O desenvolvimento de instruções macro foi um dos primeiros passos para a criação de uma linguagem baseada em uma biblioteca de funções representativas, para que ações mínimas pudessem ser coletadas juntas sob uma única chamada de comando em um programa separado. As primeiras bibliotecas de instruções macro eram fornecidas com mais freqüência pelos fabricantes de hardware e software para ajudar os programadores a usar e acessar os recursos da maneira correta.
Os programadores usavam instruções de macro por vários motivos, mas o mais comum era reduzir a quantidade de código repetitivo no programa, eliminar a possibilidade de erro no código de macro e fornecer conjuntos de instruções comumente usados para que vários programadores pudessem usar o mesma instrução macro. Sob a linguagem assembly, todas as etapas necessárias para obter um determinado resultado devem ser explicitamente escritas. Um exemplo poderia ser um programa que adicionou três números.
O operador de adição em idiomas de nível superior geralmente é um dado adquirido, mas a operação de adicionar três números na linguagem assembly requer pelo menos seis linhas de código separadas. As duas primeiras linhas carregam os números nos campos chamados registradores que realmente correspondem aos circuitos físicos dentro do computador. A terceira linha adiciona os dois registros e uma quarta linha armazena o resultado em outro registro. A quinta linha carrega o último número a ser adicionado a um registro e a instrução final adiciona o resultado anterior ao terceiro número.
Essa sequência de operações pode ser facilmente transformada em uma instrução macro, portanto, apenas uma linha de código é necessária, juntamente com os três números a serem adicionados como parâmetros. Quando o programa é finalmente compilado por um montador e transformado em código de máquina, ações chamadas pré-processamento são executadas antes da montagem. O pré-processador pega a instrução e os parâmetros da macro e a expande nas linhas de código necessárias, substituindo os parâmetros por espaços reservados representativos dentro do código da macro real.
Após o uso generalizado de instruções macro, muitos blocos de código comumente empregados seriam reunidos em bibliotecas de instruções macro. Essas bibliotecas continham várias macros para ajudar a simplificar a programação em linguagem assembly, além de garantir que determinadas operações fossem executadas de maneira consistente em diferentes programas. O uso extensivo de bibliotecas de instruções de macro levou a linguagens de nível superior que contavam com suas próprias bibliotecas para fornecer funcionalidade extensa com requisitos de programação muito menos repetitivos.