From Wikipedia, the free encyclopedia
У рачунарству, опкод (скраћено од кода операције, такође познат као слог упутства или opstring[1][2][3][4][5][6][7]) је онај део инструкције машинског језика, који дефинише операцију коју треба извршити. Поред опкода, већина инструкција наводи и податке које ће обрадити, у форми операнада. Поред опкодова који се користе у архитектури скупа инструкција различитих процесора, који су хардверски уређаји, они такође могу да се користе у апстрактним рачунарским машинама као део њихове бајт-код спецификације.
Спецификација и формат опкодова наведени су у архитектури скупа инструкција (ISA) процесора, који може бити процесор опште намене или специјализовани процесор. Поред опкода, инструкција обично садржи један или више операнада (тј. податке), над којима се операције извршавају, иако неке операције могу имати подразумеване операнде, а неке их не морају имати уопште. Постоје сетови инструкција који имају готово униформна поља за код операције и операнде, као и друге (као што је х86 архитектура на пример) које имају сложенију структуру променљиве дужине.[8]
У зависности од архитектуре, операнди могу да буду вредности у регистрима, вредности на стеку, друге меморијске вредности, улазно-излазни уређаји и сл., који наведени су и којима се приступа помоћу више или мање сложеног начина адресирања. Врсте операција које постоје укључују аритметичке операције, копирање података, логичке операције, управљање програмима, као и посебне инструкције (на пример CPUID и друге).
Асемблерски језик (асемблер), је програмски језик ниског нивоа који користи мнемонику, инструкције и операнде за представљање машинског кода. На тај начин се повећава читљивост, а у исто време даје прецизна контрола над машинским инструкцијама. Већина програма се сада прави помоћу програмских језика високог нивоа,[9] који се обично лакше читају и пишу. Ови језици морају бити компајлирани (преведени на језик асемблера), или покренути кроз друге компајлиране програме.[10]
Опкодови се такође могу наћи у бајт-кодовима, намењеним за програмског преводиоца, а не хардверски уређај. Ови софтверски скупови инструкција често користе податке и операције мало вишег нивоа од већине хардверских решења. Примери укључују бајткод у датотекама Јава класа, који се затим интерпретира на Јава виртуелној машини (ЈВМ), бајткод који се користи у ГНУ Емакс-у за компајлирани ЛИСП код , .NET Common Intermediate Language , као и многи други.[11]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.