Makrokäsky tietokoneohjelmoinnissa on yksittäinen käsky, joka ohjelman kääntämisen jälkeen korvataan ennalta määritetyllä koodiloholla. Termiä sovellettiin alun perin kokoonpanokielen ohjelmoinnissa käytettäviin ohjeisiin, joissa joskus tarvittiin pitkää, toistuvaa koodia hyvin yksinkertaisiin toimintoihin. Makro -ohjeiden kehittäminen oli yksi ensimmäisistä askeleista kohti kielen luomista edustavien toimintojen kirjastoon, jotta pienet toiminnot voitaisiin kerätä yhteen yksittäisen komennon avulla erillisessä ohjelmassa. Laitteiden ja ohjelmistojen valmistajat toimittivat useimmiten varhaisia makrokäyttökirjastoja, jotka auttoivat ohjelmoijia käyttämään ja käyttämään ominaisuuksia oikein.
Ohjelmoijat käyttivät makrokäskyjä useista syistä, mutta yleisimpiä olivat ohjelman toistuvan koodin määrän vähentäminen, makrokoodin virheiden poistaminen ja yleisesti käytettyjen käskykokonaisuuksien tarjoaminen, jotta useat ohjelmoijat voisivat käyttää sama makro -ohje. Kokoonpanokielellä jokainen tietyn tuloksen saavuttamiseksi tarvittava vaihe on kirjoitettava nimenomaisesti. Esimerkki voisi olla ohjelma, joka lisäsi kolme numeroa yhteen.
Ylemmän tason kielten lisäysoperaattoria pidetään usein itsestäänselvyytenä, mutta kolmen numeron lisääminen kokoonpanokielellä vaatii vähintään kuusi erillistä koodiriviä. Kaksi ensimmäistä riviä lataavat numerot rekistereihin, joita kutsutaan rekistereiksi ja jotka todella vastaavat tietokoneen sisällä olevia fyysisiä piirejä. Kolmas rivi lisää kaksi rekisteriä ja neljäs rivi tallentaa tuloksen toiseen rekisteriin. Viides rivi lataa viimeisen lisättävän numeron rekisteriin ja lopullinen lauseke lisää edellisen tuloksen kolmanteen numeroon.
Tämä toimintosarja voidaan helposti muuttaa makrokäskyksi, joten tarvitaan vain yksi koodirivi ja kolme parametria lisättävää numeroa. Kun kokoonpanija on lopulta koonnut ohjelman ja muuttanut sen konekoodiksi, esikäsittelyksi kutsutut toimenpiteet suoritetaan ennen kokoonpanon sijoittamista. Esiprosessori ottaa makrokäskyn ja parametrit ja laajentaa ne tarvittaville koodiriveille korvaamalla parametrit edustaville paikkamerkkeille varsinaisen makrokoodin sisällä.
Makrokäskyn käytön yleistymisen jälkeen monet yleisesti käytetyt koodilohot koottaisiin makrokäskokirjastoiksi. Nämä kirjastot sisälsivät useita makroja, jotka helpottivat ohjelmointia kokoonpanokielellä ja varmistivat, että tietyt toiminnot suoritettiin johdonmukaisesti eri ohjelmissa. Makrokäyttökirjastojen laaja käyttö johti lopulta korkeamman tason kieliin, jotka luottivat omiin kirjastoihinsa tarjotakseen laajoja toimintoja ja paljon vähemmän toistuvia ohjelmointivaatimuksia.