I maskininstruksjonssett kan operander generelt klassifiseres i følgende typer:
1. Registrer operander :Dette er operander som ligger i prosessorens registre. Registre er minneplasseringer med rask tilgang i CPU, og de brukes ofte til å lagre midlertidige verdier, variabler eller mellomresultater under beregning. Registre er vanligvis navngitt, for eksempel R1, R2, etc.
2. Umiddelbare operander :Dette er konstante verdier eller bokstaver som er kodet direkte i selve instruksjonen. De er umiddelbart tilgjengelige for prosessoren uten behov for minnetilgang. Umiddelbare operander kan være tall, tegn eller minneadresser.
3. Minneoperander :Disse operandene refererer til data eller instruksjoner som er lagret i datamaskinens hovedminne. Minneoperander spesifiseres vanligvis ved hjelp av adresseringsmoduser, som bestemmer hvordan operandens adresse beregnes basert på registerverdier eller annen informasjon. Adresseringsmoduser kan inkludere direkte adressering, indirekte adressering og indeksert adressering.
4. I/O (Input/Output) Operander :Disse operandene brukes for kommunikasjon med inn- eller utdataenheter, for eksempel tastaturer, skjermer eller lagringsenheter. I/O-operander kan være enhetsregistre eller minnetilordnede I/O-plasseringer.
5. Flaggregisteroperander :Noen instruksjonssett inkluderer også operander som refererer til prosessorens flaggregister eller tilstandskoder. Disse flaggene brukes til å indikere statusen til tidligere operasjoner, for eksempel bære, overløp, null eller tegn. Flaggregisteroperander kan brukes til å kontrollere betinget forgrening eller andre operasjoner basert på tilstanden til flaggene.
Tilgjengeligheten til disse operandtypene avhenger av den spesifikke instruksjonssettarkitekturen. Noen instruksjonssett kan støtte et bredt utvalg av adresseringsmoduser og operandtyper, mens andre kan ha mer begrensede alternativer.