Bilgisayar programcılığındaki makro talimatı, bir program derlendiğinde önceden tanımlanmış bir kod bloğu ile değiştirilen tek bir talimattır. Terim başlangıçta, çok basit işlemler için uzun, tekrarlayan kodların gerekli olduğu montaj dili programlamasında kullanılan talimatlara uygulandı. Makro talimatların geliştirilmesi, temsili işlevlerden oluşan bir kütüphaneye dayanan bir dil yaratma yolunda atılan ilk adımlardan biriydi. İlk makro eğitim kitaplıkları, programcıların özellikleri doğru şekilde kullanmalarına ve erişmelerine yardımcı olmak için en sık donanım ve yazılım üreticileri tarafından sağlanmıştır.
Programcılar, çeşitli nedenlerden dolayı makro talimatlarını kullandılar, ancak en yaygın olanı programdaki tekrarlayan kod miktarını azaltmak, makro kodundaki hata olasılığını ortadan kaldırmak ve yaygın olarak kullanılan komut kümelerini sağlamaktı; Aynı makro talimatı. Assembly dili altında, belirli bir sonuç elde etmek için gereken her adım açıkça yazılmalıdır. Bir örnek, birlikte üç sayı ekleyen bir program olabilir.
Daha yüksek seviyeli dillerdeki ekleme operatörü genellikle kabul edilir, ancak montaj dilinde üç sayı ekleme işlemi, en az altı ayrı kod satırı gerektirir. İlk iki satır, sayıları aslında bilgisayarın içindeki fiziksel devrelere karşılık gelen yazmaç adı verilen alanlara yükler. Üçüncü satır iki kaydı ekler ve dördüncü satır sonucu başka bir kayıt defterinde saklar. Beşinci satır, bir kayıt listesine eklenecek son sayıyı yükler ve son ifade önceki sonucu üçüncü sayıya ekler.
Bu işlem sırası kolayca bir makro komutuna dönüştürülebilir, bu nedenle parametre olarak eklenecek üç sayı ile birlikte yalnızca bir kod satırı gerekir. Program nihayet bir montajcı tarafından derlendiğinde ve makine koduna çevrildiğinde, montaj yapılmadan önce ön işleme adı verilen işlemler yapılır. Ön işlemci makro talimatını ve parametrelerini alır ve parametreyi gerçek makro kodunun içindeki temsili yer tutucuların yerine koyarak istenen kod satırlarına genişletir.
Makro talimat kullanımı yaygınlaştırıldıktan sonra, yaygın olarak kullanılan birçok kod bloğu makro talimat kitaplıklarına birleştirilir. Bu kütüphaneler, bazı dillerde işlemlerin farklı programlar arasında tutarlı bir şekilde gerçekleştirilmesini sağlamanın yanı sıra, montaj dilinde programlamanın basitleştirilmesine yardımcı olan birkaç makro içeriyordu. Makro eğitim kitaplıklarının yaygın olarak kullanılması, daha az tekrarlayan programlama gereksinimleri ile kapsamlı işlevsellik sağlamak için kendi kitaplıklarına dayanan üst düzey dillere yol açmıştır.


