Opcode - Opcode
| Maskinkode |
|---|
| Generelle begreber |
| Instruktioner |
I computing er en opcode (forkortet fra driftskode , også kendt som instruktionsmaskinkode , instruktionskode , instruktionsstavelse , instruktionspakke eller opstring ) den del af en maskinsprogsinstruktion , der angiver den operation, der skal udføres. Udover selve opkoden angiver de fleste instruktioner også de data, de vil behandle, i form af operander . Ud over opcoder, der bruges i instruktionssætets arkitekturer for forskellige CPU'er , som er hardwareenheder, kan de også bruges i abstrakte computermaskiner som en del af deres byte -kodespecifikationer .
Oversigt
Specifikationer og format for opcodes er angivet i instruktionssætarkitekturen ( ISA ) for den pågældende processor, som kan være en generel CPU eller en mere specialiseret behandlingsenhed. Opcodes for et givet instruktionssæt kan beskrives ved brug af en opcode -tabel, der beskriver alle mulige opcodes. Bortset fra selve opkoden har en instruktion normalt også en eller flere specifikatorer for operander (dvs. data), som operationen skal handle på, selvom nogle operationer kan have implicitte operander eller slet ingen. Der er instruktionssæt med næsten ensartede felter til opcode- og operandspecifikatorer samt andre (f.eks. X86- arkitekturen) med en mere kompliceret struktur med variabel længde. Instruktionssæt kan udvides ved brug af opcode -præfikser, der tilføjer et undersæt af nye instruktioner, der består af eksisterende opcodes efter reserverede bytesekvenser.
Operander
Afhængig af arkitektur kan operanderne være registerværdier , værdier i stakken , andre hukommelsesværdier , I/O -porte (som også kan være hukommelseskortede ) osv., Specificeret og tilgået ved hjælp af mere eller mindre komplekse adresseringstilstande . De typer af operationer omfatter aritmetik , data kopiering, logiske operationer , og programmet kontrol, samt særlige instruktioner (f.eks CPUID og andre).
Monteringssprog , eller bare samling , er et programmeringssprog på lavt niveau , der bruger mnemoniske instruktioner og operander til at repræsentere maskinkode . Dette øger læsbarheden, samtidig med at den giver præcis kontrol over maskinens instruktioner. De fleste programmering udføres i øjeblikket ved hjælp af programmeringssprog på højt niveau , som typisk er lettere at læse og skrive. Disse sprog skal kompileret (oversat til assembler) ved et system, specifik compiler , eller køre gennem andre kompileret programmer.
Software instruktionssæt
Opcodes kan også findes i såkaldte byte-koder og andre repræsentationer beregnet til en softwaretolker frem for en hardwareenhed. Disse softwarebaserede instruktionssæt anvender ofte lidt højere datatyper og operationer end de fleste hardware-modstykker, men er ikke desto mindre konstrueret efter lignende linjer. Eksempler omfatter byte -koden, der findes i Java -klassefiler, som derefter fortolkes af Java Virtual Machine (JVM), byte -koden, der bruges i GNU Emacs til kompileret Lisp -kode, .NET Common Intermediate Language (CIL) og mange andre.
Se også
Referencer
Yderligere læsning
- Hyde, Randall (2004). Skriv god kode: Tænker på lavt niveau, skriver på højt niveau . Forståelse af maskinen . 1 . San Francisco, Californien, USA: Ingen stivelsespresse . s. passim. ISBN 1-59327003-8. Hentet 2015-10-10 .