Makroinstrukcja (ang. macro instruction) — ciąg instrukcji wywoływanych za pomocą jednej dodatkowo zdefiniowanej instrukcji. Przekształcenie (rozszerzenie) makroinstrukcji w ciąg słów języka programowania (poddawanych dalszej translacji) jest realizowane przez wstępny element translatora, zwany preprocesorem.