Inom datavetenskap hänvisar termen instruktion till en enda operation av processorn , definierad av ett system av instruktioner . Mer allmänt kan en "instruktion" vara vilken representation som helst av ett element i ett körbart program, såsom en bytekod .
I traditionella arkitekturer innehåller en instruktion en op-kod som anger om den operationen ska utföras, såsom "lägg till innehållet i minnet till ett register", noll eller fler operanddefinitioner , som kan beskriva register , minnesplatser eller teckendata. Operanddefinitioner kan innehålla adresseringsmetoder som indikerar deras värde, eller finnas i fasta fält.
I VLIW- arkitekturen (very long instruction word), som kan inkludera mikrokod , definieras många samtidigt exekverade operationer och operander i en enda instruktion.
Storleken eller längden på en instruktion kan variera ganska mycket, från så små som 4 bitar i vissa mikrokontroller till många hundra bitar i vissa VLIW-system. De flesta moderna processorer som används i persondatorer , stordatorer och superdatorer har instruktioner mellan 16 och 64 bitar i storlek. I vissa arkitekturer, mestadels av typen RISC , har instruktionerna en fast längd, vanligtvis jämförbar med den arkitekturens maskinordstorlek . I andra arkitekturer är instruktioner av variabel längd, vanligtvis en heltalsuppsättning av byte eller halvord .
Instruktionerna som utgör ett program definieras sällan av sin interna numeriska form; de kan definieras av programmerare som använder assemblerspråk , eller mer generellt kan de genereras av kompilatorer .