fbpx
Wikipedia

Opcode

In computing, an opcode[1][2] (abbreviated from operation code,[1] also known as instruction machine code,[3] instruction code,[4] instruction syllable,[5][6][7][8] instruction parcel or opstring[9][2]) is the portion of a machine language instruction that specifies the operation to be performed. Beside the opcode itself, most instructions also specify the data they will process, in the form of operands. In addition to opcodes used in the instruction set architectures of various CPUs, which are hardware devices, they can also be used in abstract computing machines as part of their byte code specifications.

Overview

Specifications and format of the opcodes are laid out in the instruction set architecture (ISA) of the processor in question, which may be a general CPU or a more specialized processing unit.[10] Opcodes for a given instruction set can be described through the use of an opcode table detailing all possible opcodes. Apart from the opcode itself, an instruction normally also has one or more specifiers for operands (i.e. data) on which the operation should act, although some operations may have implicit operands, or none at all.[10] There are instruction sets with nearly uniform fields for opcode and operand specifiers, as well as others (the x86 architecture for instance) with a more complicated, variable-length structure.[10][11] Instruction sets can be extended through the use of opcode prefixes which add a subset of new instructions made up of existing opcodes following reserved byte sequences.

Operands

Depending on architecture, the operands may be register values, values in the stack, other memory values, I/O ports (which may also be memory mapped), etc., specified and accessed using more or less complex addressing modes.[citation needed] The types of operations include arithmetic, data copying, logical operations, and program control, as well as special instructions (such as CPUID and others).[10]

Assembly language, or just assembly, is a low-level programming language, which uses mnemonic instructions and operands to represent machine code.[10] This enhances the readability while still giving precise control over the machine instructions. Most programming is currently done using high-level programming languages,[12] which are typically easier for humans to understand and write.[10] These languages need to be compiled (translated into assembly language) by a system-specific compiler, or run through other compiled programs.[13]

Software instruction sets

Opcodes can also be found in so-called byte codes and other representations intended for a software interpreter rather than a hardware device. These software-based instruction sets often employ slightly higher-level data types and operations than most hardware counterparts, but are nevertheless constructed along similar lines. Examples include the byte code found in Java class files which are then interpreted by the Java Virtual Machine (JVM), the byte code used in GNU Emacs for compiled Lisp code, .NET Common Intermediate Language (CIL), and many others.[14]

See also

References

  1. ^ a b Barron, David William (1978) [1971, 1969]. "2.1. Symbolic instructions". Written at University of Southampton, Southampton, UK. In Floretin, J. John (ed.). Assemblers and Loaders. Computer Monographs (3 ed.). New York, USA: Elsevier North-Holland Inc. p. 7. ISBN 0-444-19462-2. LCCN 78-19961. (xii+100 pages)
  2. ^ a b Chiba, Shigeru (2007) [1999]. "Javassist, a Java-bytecode translator toolkit". from the original on 2020-03-02. Retrieved 2016-05-27.
  3. ^ "Appendix B - Instruction Machine Codes" (PDF). MCS-4 Assembly Language Programming Manual - The INTELLEC 4 Microcomputer System Programming Manual (Preliminary ed.). Santa Clara, California, USA: Intel Corporation. December 1973. pp. B-1–B-8. MCS-030-1273-1. (PDF) from the original on 2020-03-01. Retrieved 2020-03-02.
  4. ^ Raphael, Howard A., ed. (November 1974). "The Functions Of A Computer: Instruction Register And Decoder" (PDF). MCS-40 User's Manual For Logic Designers. Santa Clara, California, USA: Intel Corporation. p. viii. (PDF) from the original on 2020-03-03. Retrieved 2020-03-03. […] Each operation that the processor can perform is identified by a unique binary number known as an instruction code. […]
  5. ^ Jones, Douglas W. (June 1988). "A Minimal CISC". ACM SIGARCH Computer Architecture News. New York, USA: Association for Computing Machinery (ACM). 16 (3): 56–63. doi:10.1145/48675.48684. S2CID 17280173.
  6. ^ Domagała, Łukasz (2012). "7.1.4. Benchmark suite". Application of CLP to instruction modulo scheduling for VLIW processors. Gliwice, Poland: Jacek Skalmierski Computer Studio. pp. 80–83 [83]. ISBN 978-83-62652-42-6. from the original on 2020-03-02. Retrieved 2016-05-28.
  7. ^ Smotherman, Mark (2016) [2013]. "Multiple Instruction Issue". School of Computing, Clemson University. from the original on 2016-05-28. Retrieved 2016-05-28.
  8. ^ Jones, Douglas W. (2016) [2012]. "A Minimal CISC". Computer Architecture On-Line Collection. Iowa City, USA: The University of Iowa, Department of Computer Science. from the original on 2020-03-02. Retrieved 2016-05-28.
  9. ^ Schulman, Andrew (2005-07-01). "Finding Binary Clones with Opstrings & Function Digests". Dr. Dobb's Journal. Part I. Vol. 30, no. 7. CMP Media LLC. pp. 69–73. ISSN 1044-789X. #374. from the original on 2020-03-02. Retrieved 2020-03-02; Schulman, Andrew (2005-08-01). "Finding Binary Clones with Opstrings & Function Digests". Dr. Dobb's Journal. Part II. Vol. 30, no. 8. CMP Media LLC. pp. 56–61. ISSN 1044-789X. #375. from the original on 2020-03-02. Retrieved 2016-05-28; Schulman, Andrew (2005-09-01). "Finding Binary Clones with Opstrings & Function Digests". CMP Media LLC. Part III. Vol. 30, no. 9. United Business Media. pp. 64–70. ISSN 1044-789X. #376. from the original on 2020-03-02. Retrieved 2016-05-28.
  10. ^ a b c d e f Hennessy, John L.; Patterson, David A.; Asanović, Krste; Bakos, Jason D.; Colwell, Robert P.; Bhattacharjee, Abhishek; Conte, Thomas M.; Duato, José; Franklin, Diana; Goldberg, David; Jouppi, Norman P.; Li, Sheng; Muralimanohar, Naveen; Peterson, Gregory D.; Pinkston, Timothy M.; Ranganathan, Parthasarathy; Wood, David A.; Young, Cliff; Zaky, Amr (2017-11-23). Computer architecture: A quantitative approach (6 ed.). Cambridge, Massachusetts, USA: Morgan Kaufmann Publishers. ISBN 978-0-12811905-1. OCLC 983459758.
  11. ^ Mansfield, Richard (1983). "Introduction: Why Machine Language?". Machine Language For Beginners. Compute! Books (1 ed.). Greensboro, North Carolina, USA: COMPUTE! Publications, Inc., American Broadcasting Companies, Inc.; Small System Services, Inc. ISBN 0-942386-11-6. from the original on 2008-02-13. Retrieved 2016-05-28.
  12. ^ . langpop.com. 2013-10-25. Archived from the original on 2015-04-11. Retrieved 2015-10-10.
  13. ^ Swanson, William (2001). "Introduction to Assembly Language". Swanson Technologies. from the original on 2020-03-02. Retrieved 2015-10-10.
  14. ^ . PC Magazine. PC Magazine Encyclopedia. Archived from the original on 2012-10-06. Retrieved 2015-10-10.

Further reading

  • Hyde, Randall (2004). Write Great Code: Thinking Low-level, Writing High-level. Understanding the Machine. Vol. 1. San Francisco, California, USA: No Starch Press. p. passim. ISBN 1-59327003-8. Retrieved 2015-10-10.

opcode, this, scientific, article, needs, additional, citations, secondary, tertiary, sourcessuch, review, articles, monographs, textbooks, please, such, references, provide, context, establish, relevance, primary, research, articles, cited, unsourced, poorly,. This scientific article needs additional citations to secondary or tertiary sourcessuch as review articles monographs or textbooks Please add such references to provide context and establish the relevance of any primary research articles cited Unsourced or poorly sourced material may be challenged and removed October 2015 Learn how and when to remove this template message In computing an opcode 1 2 abbreviated from operation code 1 also known as instruction machine code 3 instruction code 4 instruction syllable 5 6 7 8 instruction parcel or opstring 9 2 is the portion of a machine language instruction that specifies the operation to be performed Beside the opcode itself most instructions also specify the data they will process in the form of operands In addition to opcodes used in the instruction set architectures of various CPUs which are hardware devices they can also be used in abstract computing machines as part of their byte code specifications Contents 1 Overview 1 1 Operands 2 Software instruction sets 3 See also 4 References 5 Further readingOverview EditSpecifications and format of the opcodes are laid out in the instruction set architecture ISA of the processor in question which may be a general CPU or a more specialized processing unit 10 Opcodes for a given instruction set can be described through the use of an opcode table detailing all possible opcodes Apart from the opcode itself an instruction normally also has one or more specifiers for operands i e data on which the operation should act although some operations may have implicit operands or none at all 10 There are instruction sets with nearly uniform fields for opcode and operand specifiers as well as others the x86 architecture for instance with a more complicated variable length structure 10 11 Instruction sets can be extended through the use of opcode prefixes which add a subset of new instructions made up of existing opcodes following reserved byte sequences Operands Edit Depending on architecture the operands may be register values values in the stack other memory values I O ports which may also be memory mapped etc specified and accessed using more or less complex addressing modes citation needed The types of operations include arithmetic data copying logical operations and program control as well as special instructions such as CPUID and others 10 Assembly language or just assembly is a low level programming language which uses mnemonic instructions and operands to represent machine code 10 This enhances the readability while still giving precise control over the machine instructions Most programming is currently done using high level programming languages 12 which are typically easier for humans to understand and write 10 These languages need to be compiled translated into assembly language by a system specific compiler or run through other compiled programs 13 Software instruction sets EditOpcodes can also be found in so called byte codes and other representations intended for a software interpreter rather than a hardware device These software based instruction sets often employ slightly higher level data types and operations than most hardware counterparts but are nevertheless constructed along similar lines Examples include the byte code found in Java class files which are then interpreted by the Java Virtual Machine JVM the byte code used in GNU Emacs for compiled Lisp code NET Common Intermediate Language CIL and many others 14 See also Edit Computer programming portalGadget machine instruction sequence Illegal opcode Opcode database Syllable computing References Edit a b Barron David William 1978 1971 1969 2 1 Symbolic instructions Written at University of Southampton Southampton UK In Floretin J John ed Assemblers and Loaders Computer Monographs 3 ed New York USA Elsevier North Holland Inc p 7 ISBN 0 444 19462 2 LCCN 78 19961 xii 100 pages a b Chiba Shigeru 2007 1999 Javassist a Java bytecode translator toolkit Archived from the original on 2020 03 02 Retrieved 2016 05 27 Appendix B Instruction Machine Codes PDF MCS 4 Assembly Language Programming Manual The INTELLEC 4 Microcomputer System Programming Manual Preliminary ed Santa Clara California USA Intel Corporation December 1973 pp B 1 B 8 MCS 030 1273 1 Archived PDF from the original on 2020 03 01 Retrieved 2020 03 02 Raphael Howard A ed November 1974 The Functions Of A Computer Instruction Register And Decoder PDF MCS 40 User s Manual For Logic Designers Santa Clara California USA Intel Corporation p viii Archived PDF from the original on 2020 03 03 Retrieved 2020 03 03 Each operation that the processor can perform is identified by a unique binary number known as an instruction code Jones Douglas W June 1988 A Minimal CISC ACM SIGARCH Computer Architecture News New York USA Association for Computing Machinery ACM 16 3 56 63 doi 10 1145 48675 48684 S2CID 17280173 Domagala Lukasz 2012 7 1 4 Benchmark suite Application of CLP to instruction modulo scheduling for VLIW processors Gliwice Poland Jacek Skalmierski Computer Studio pp 80 83 83 ISBN 978 83 62652 42 6 Archived from the original on 2020 03 02 Retrieved 2016 05 28 Smotherman Mark 2016 2013 Multiple Instruction Issue School of Computing Clemson University Archived from the original on 2016 05 28 Retrieved 2016 05 28 Jones Douglas W 2016 2012 A Minimal CISC Computer Architecture On Line Collection Iowa City USA The University of Iowa Department of Computer Science Archived from the original on 2020 03 02 Retrieved 2016 05 28 Schulman Andrew 2005 07 01 Finding Binary Clones with Opstrings amp Function Digests Dr Dobb s Journal Part I Vol 30 no 7 CMP Media LLC pp 69 73 ISSN 1044 789X 374 Archived from the original on 2020 03 02 Retrieved 2020 03 02 Schulman Andrew 2005 08 01 Finding Binary Clones with Opstrings amp Function Digests Dr Dobb s Journal Part II Vol 30 no 8 CMP Media LLC pp 56 61 ISSN 1044 789X 375 Archived from the original on 2020 03 02 Retrieved 2016 05 28 Schulman Andrew 2005 09 01 Finding Binary Clones with Opstrings amp Function Digests CMP Media LLC Part III Vol 30 no 9 United Business Media pp 64 70 ISSN 1044 789X 376 Archived from the original on 2020 03 02 Retrieved 2016 05 28 a b c d e f Hennessy John L Patterson David A Asanovic Krste Bakos Jason D Colwell Robert P Bhattacharjee Abhishek Conte Thomas M Duato Jose Franklin Diana Goldberg David Jouppi Norman P Li Sheng Muralimanohar Naveen Peterson Gregory D Pinkston Timothy M Ranganathan Parthasarathy Wood David A Young Cliff Zaky Amr 2017 11 23 Computer architecture A quantitative approach 6 ed Cambridge Massachusetts USA Morgan Kaufmann Publishers ISBN 978 0 12811905 1 OCLC 983459758 Mansfield Richard 1983 Introduction Why Machine Language Machine Language For Beginners Compute Books 1 ed Greensboro North Carolina USA COMPUTE Publications Inc American Broadcasting Companies Inc Small System Services Inc ISBN 0 942386 11 6 Archived from the original on 2008 02 13 Retrieved 2016 05 28 Programming Language Popularity langpop com 2013 10 25 Archived from the original on 2015 04 11 Retrieved 2015 10 10 Swanson William 2001 Introduction to Assembly Language Swanson Technologies Archived from the original on 2020 03 02 Retrieved 2015 10 10 bytecode Definition PC Magazine PC Magazine Encyclopedia Archived from the original on 2012 10 06 Retrieved 2015 10 10 Further reading EditHyde Randall 2004 Write Great Code Thinking Low level Writing High level Understanding the Machine Vol 1 San Francisco California USA No Starch Press p passim ISBN 1 59327003 8 Retrieved 2015 10 10 Retrieved from https en wikipedia org w index php title Opcode amp oldid 1127582990, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.