{ "info": { "author": "Marat Dukhan", "author_email": "maratek@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Assembly", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering", "Topic :: Software Development", "Topic :: Software Development :: Assemblers", "Topic :: Software Development :: Documentation" ], "description": ".. image:: https://img.shields.io/github/license/Maratyszcza/Opcodes.svg\n :alt: License\n :target: https://github.com/Maratyszcza/Opcodes/blob/master/license.rst\n\n.. image:: https://img.shields.io/pypi/v/opcodes.svg\n :alt: PyPI Package\n :target: https://pypi.python.org/pypi/opcodes\n\n.. image:: https://readthedocs.org/projects/opcodes/badge/?style\n :alt: Documentation\n :target: https://opcodes.readthedocs.org\n\n.. image:: https://img.shields.io/travis/Maratyszcza/Opcodes.svg\n :alt: Test Status\n :target: https://travis-ci.org/Maratyszcza/Opcodes\n\nOpcodes Project\n===============\n\nThe goal of this project is to document instruction sets in a format convenient for tools development. An instruction set is represented by three files:\n\n- An XML file that describes instructions\n- An XSD file that describes the structure of the XML file\n- A Python module that reads the XML file and represents it as a set of Python objects\n\nThis project is a spin-off from `PeachPy `_ assembler.\n\nCurrent status\n--------------\n\nThe project provides descriptions for most user-mode x86, x86-64, and k1om instructions up to AVX-512 and SHA (including 3dnow!+, XOP, FMA3, FMA4, TBM and BMI2). The following instructions are currently **NOT** supported:\n\n- All priveledged instructions and user-mode system instructions (e.g. XSAVE, SLDT)\n- Legacy string/streaming instructions (MOVS/SCAS/CMPS/STOS/LODS)\n- LOCK and REP/REPZ/REPNZ prefixes\n- x87 FPU instructions\n- VIA Padlock instructions\n- Intel HTM instructions\n\nFor each instruction the following information is provided:\n\n- Summary description\n- Instruction names in Intel assembly (`PeachPy `_, `NASM `_, `YASM `_ and MASM assemblers), AT&T assembly (GNU assembler) and Plan 9 assembly (`Go `_ assembler)\n- Operand types and characteristics (whether the operand is input or output)\n- Implicit input and output registers\n- ISA where this instruction was introduced\n- Whether the instruction operates on FPU or MMX state\n- Whether the instruction operates on AVX or legacy SSE state\n- Whether the instruction has no dependency on input values when input operands refer to the same register (e.g. `XOR eax, eax` has no dependency on `eax`)\n- Whether the instruction is supported by Native Client validator and when the support was introduced\n- Whether the instruction that writes to a 32-bit register is recognized by x86-64 Native Client validator as zero-extending\n\nInstallation\n------------\n\n.. code-block:: bash\n\n pip install --upgrade Opcodes\n\nUsers\n-----\n\n- `PeachPy `_ -- x86-64 assembler embedded in Python that targets High-Performance Computing use-cases.\n\n- `Template-Assembly `_ -- Embedding x86 assembly code in C++ with metaprogramming using a domain specific language.\n\nPeer-Reviewed Publications\n--------------------------\n\n- Marat Dukhan \"PeachPy meets Opcodes: Direct Machine Code Generation from Python\", Python for High-Performance Computing (PyHPC) 2015 (`slides `_, `paper on ACM Digital Library `_).\n\nAcknowledgements\n----------------\n\n.. image:: https://github.com/Maratyszcza/PeachPy/blob/master/logo/hpcgarage.png\n :alt: HPC Garage logo\n :target: http://hpcgarage.org/\n\n.. image:: https://github.com/Maratyszcza/PeachPy/blob/master/logo/college-of-computing.gif\n :alt: Georgia Tech College of Computing logo\n :target: http://www.cse.gatech.edu/\n\nThis work is a research project at the HPC Garage lab in the Georgia Institute of Technology, College of Computing, School of Computational Science and Engineering.\n\nThe work was supported in part by grants to Prof. Richard Vuduc's research lab, `The HPC Garage `_, from the National Science Foundation (NSF) under NSF CAREER award number 0953100; and a grant from the Defense Advanced Research Projects Agency (DARPA) Computer Science Study Group program\n\nAny opinions, conclusions or recommendations expressed in this software and documentation are those of the authors and not necessarily reflect those of NSF or DARPA.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Maratyszcza/Opcodes", "keywords": "assembly,assembler,asm,opcodes,x86,x86-64,isa,cpu", "license": "", "maintainer": "", "maintainer_email": "", "name": "opcodes", "package_url": "https://pypi.org/project/opcodes/", "platform": "", "project_url": "https://pypi.org/project/opcodes/", "project_urls": { "Homepage": "https://github.com/Maratyszcza/Opcodes" }, "release_url": "https://pypi.org/project/opcodes/0.3.14/", "requires_dist": null, "requires_python": "", "summary": "Database of Processor Instructions/Opcodes", "version": "0.3.14" }, "last_serial": 3306615, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ce14e83bc93fdfdf01e427c11a857f2e", "sha256": "789036c3f3408bbfe29aa92c39b5b7a182a9d8297bd5cfdf5edb044325658093" }, "downloads": -1, "filename": "opcodes-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ce14e83bc93fdfdf01e427c11a857f2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66122, "upload_time": "2014-12-29T06:59:51", "url": "https://files.pythonhosted.org/packages/b5/2c/504268918952099079472abb792b6cf1fb3a026b6fee667548bd713a40c4/opcodes-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "042c55350d941dc06cc8a9531f0fde3e", "sha256": "2b90a8ead885576619cae770f9a7d878c3407f06d810d31674f7620ae1f3fa6f" }, "downloads": -1, "filename": "opcodes-0.2.0.tar.gz", "has_sig": false, "md5_digest": "042c55350d941dc06cc8a9531f0fde3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 71699, "upload_time": "2014-12-31T22:26:12", "url": "https://files.pythonhosted.org/packages/6b/aa/e58ea5de7bce3f6c99dd64b317c71b1f3bf464f1d438f2fceccfe9915b08/opcodes-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "ffd8efc5ceb216087c7b7201a75a2960", "sha256": "b6ea4ceeb9aa06c62f4b9c5f56527d0d18e6b1aa840a1fe67be707c52b128878" }, "downloads": -1, "filename": "opcodes-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ffd8efc5ceb216087c7b7201a75a2960", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69940, "upload_time": "2015-01-09T02:38:08", "url": "https://files.pythonhosted.org/packages/4f/6a/23c36a5401518a0419373a64fb7d21e29ab9574ecaf73c160f1555362472/opcodes-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "ceb35a68e157522bdf7792b1d4d3e7d2", "sha256": "34d94ef491a1b977fd3c95a28eb8097342321b1a3d1f8b525cd1193773be193f" }, "downloads": -1, "filename": "opcodes-0.2.2.tar.gz", "has_sig": false, "md5_digest": "ceb35a68e157522bdf7792b1d4d3e7d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70223, "upload_time": "2015-01-11T01:14:26", "url": "https://files.pythonhosted.org/packages/aa/13/c7108072d71336f8019c77b67138b55777544bf1b76a53e43d5082e35e8d/opcodes-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "026b0d09bce11657641ecc883b82ec9d", "sha256": "9a17b5757584ff99d174dad0d998acf712a80a6da1fdcaf5d3d8db46178a7415" }, "downloads": -1, "filename": "opcodes-0.2.3.tar.gz", "has_sig": false, "md5_digest": "026b0d09bce11657641ecc883b82ec9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 71179, "upload_time": "2015-01-15T07:29:20", "url": "https://files.pythonhosted.org/packages/c0/87/69c700996ffaf74001684761a204a4849944c39e98bdb3b5b91fbca2cea7/opcodes-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "1c3ea11904312e26d36d92aff768a8d4", "sha256": "86cd2998f0ddf7f8bde09fcf81042f3bc8e9b469226bd7b68f8f068dd383c293" }, "downloads": -1, "filename": "opcodes-0.2.4.tar.gz", "has_sig": false, "md5_digest": "1c3ea11904312e26d36d92aff768a8d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 122709, "upload_time": "2015-01-28T22:27:08", "url": "https://files.pythonhosted.org/packages/26/e6/ee97e344201d7cdca262e6db877da60d286fc6f3ca88e2f9675bbc27967d/opcodes-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "2a7de3d9af035c366e3ddd3fb17975a3", "sha256": "d6c7407236efcc44d57b33511c286ce819022b8b27518aa68808a957476832c5" }, "downloads": -1, "filename": "opcodes-0.2.5.tar.gz", "has_sig": false, "md5_digest": "2a7de3d9af035c366e3ddd3fb17975a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 122839, "upload_time": "2015-06-23T03:53:36", "url": "https://files.pythonhosted.org/packages/9d/3c/74f1b63441475e880c82dbfc98d09bb405f76b4191fdf5c08614d448bf25/opcodes-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "318d381043c531da2253584034646eb2", "sha256": "1ececcb42a64f6cd36fe0e1f6589568773792f3e78be3746fc9d6cf0f7b71e8a" }, "downloads": -1, "filename": "opcodes-0.2.6.tar.gz", "has_sig": false, "md5_digest": "318d381043c531da2253584034646eb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 122842, "upload_time": "2015-06-26T15:52:16", "url": "https://files.pythonhosted.org/packages/57/c9/1bc14838bdbf4e1f6853d4a3f5d8c596e176b9f19c13cea761964a4e9e5e/opcodes-0.2.6.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "e9bb2bdb0a0baed947691fcb8ec1d980", "sha256": "d916d696165840c2626e55a0dfcb512979511e8d89f21174b7bc032b93a4a09d" }, "downloads": -1, "filename": "opcodes-0.3.0.tar.gz", "has_sig": false, "md5_digest": "e9bb2bdb0a0baed947691fcb8ec1d980", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 181060, "upload_time": "2015-09-15T22:18:37", "url": "https://files.pythonhosted.org/packages/27/e2/89f89720b3022089928fc2a4243c3f9ecd037980c6df1915120914837841/opcodes-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "a7a1d39dd02bf29a0dc8fb3450072049", "sha256": "2d1b32088371c70528a7e4a16de5a005d77d09a9e4228c503306392c42991122" }, "downloads": -1, "filename": "opcodes-0.3.1.tar.gz", "has_sig": false, "md5_digest": "a7a1d39dd02bf29a0dc8fb3450072049", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 181007, "upload_time": "2015-09-16T00:23:43", "url": "https://files.pythonhosted.org/packages/0b/47/7f81ac683a075be54e2e76e491de3ee34ec02af88bcb8d29038102e834f0/opcodes-0.3.1.tar.gz" } ], "0.3.10": [ { "comment_text": "", "digests": { "md5": "b487c596e4b43f0b20c0b8f83c34a1b3", "sha256": "accd07b032e96a8ddd5b578d1944e55194e7002bc3274de4794ab215d5b633ba" }, "downloads": -1, "filename": "opcodes-0.3.10.tar.gz", "has_sig": false, "md5_digest": "b487c596e4b43f0b20c0b8f83c34a1b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 216772, "upload_time": "2016-12-05T01:54:02", "url": "https://files.pythonhosted.org/packages/39/e0/28f2fcf338bb312b4cbcb6882864073a48e6c0bc66911221c7f8955175ed/opcodes-0.3.10.tar.gz" } ], "0.3.11": [ { "comment_text": "", "digests": { "md5": "fb20f53ee434f553c97e87123385afb6", "sha256": "fb529a2ffd471f638c0eecc63a3680363c99f162b8d5f34b725f793d73fec75d" }, "downloads": -1, "filename": "opcodes-0.3.11.tar.gz", "has_sig": false, "md5_digest": "fb20f53ee434f553c97e87123385afb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 216906, "upload_time": "2016-12-10T08:09:52", "url": "https://files.pythonhosted.org/packages/4f/71/7da4cb0f40631ca7df52b11f2ea99c2ecc8b6578b153726e819ec5e1b255/opcodes-0.3.11.tar.gz" } ], "0.3.12": [ { "comment_text": "", "digests": { "md5": "f857be497453225213771c131a8caf30", "sha256": "a5b1297822d7c536ee7809c8a797acbb98a1d6ba43d5e2f020daedbc98f26b78" }, "downloads": -1, "filename": "opcodes-0.3.12.tar.gz", "has_sig": false, "md5_digest": "f857be497453225213771c131a8caf30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 218217, "upload_time": "2017-04-02T21:49:03", "url": "https://files.pythonhosted.org/packages/da/d1/cde8c9385f1ed627595998dd5e31092619b2be4f2d4973aac8f7266f15a6/opcodes-0.3.12.tar.gz" } ], "0.3.13": [ { "comment_text": "", "digests": { "md5": "813a148197916769a013e6943938e633", "sha256": "1859c23143fe20daa4110be87a947cbf3eefa048da71dde642290213f251590c" }, "downloads": -1, "filename": "opcodes-0.3.13.tar.gz", "has_sig": false, "md5_digest": "813a148197916769a013e6943938e633", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 218200, "upload_time": "2017-08-23T05:41:21", "url": "https://files.pythonhosted.org/packages/e8/59/8c2e293c9c8d60f206fd5d0f6c8236a2e0a97832379ac319077441552c6a/opcodes-0.3.13.tar.gz" } ], "0.3.14": [ { "comment_text": "", "digests": { "md5": "581a9665c22574cf4321d3a7c32d4cde", "sha256": "16ec1cea4cf3dda767e6c0a718f664ef97a34ed24c91998a3c25c3f960c15fba" }, "downloads": -1, "filename": "opcodes-0.3.14.tar.gz", "has_sig": false, "md5_digest": "581a9665c22574cf4321d3a7c32d4cde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 218202, "upload_time": "2017-11-05T06:03:27", "url": "https://files.pythonhosted.org/packages/df/2d/4d98a725b5e73ba3d8588fd415cc64120182ebec78e0695ecae7408a2d74/opcodes-0.3.14.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "fd0eb91dfcb417d3c98f4764d15c6bf2", "sha256": "253cff3b25e6a4e9404ff052aed62d1b1d76b4286a1282c66a4590607c11165f" }, "downloads": -1, "filename": "opcodes-0.3.2.tar.gz", "has_sig": false, "md5_digest": "fd0eb91dfcb417d3c98f4764d15c6bf2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 180853, "upload_time": "2015-09-18T18:09:55", "url": "https://files.pythonhosted.org/packages/20/6c/be31d97112f3020af9a4053b5c4ff4b4526131d289ad7fdd7ecb5f17283d/opcodes-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "ea20b4039f147b897f5653eb061780b4", "sha256": "c44d8193a74dd4de738be4d086789b7e658585eceb404a382403567fb8119e76" }, "downloads": -1, "filename": "opcodes-0.3.3.tar.gz", "has_sig": false, "md5_digest": "ea20b4039f147b897f5653eb061780b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 186482, "upload_time": "2015-09-20T04:45:57", "url": "https://files.pythonhosted.org/packages/d0/a4/e024e7ba5ae2496ab7fd592c875f93ac19b04789666985720b5af1219eb9/opcodes-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "9b0998c8f53d0a6aaa4628100e1eb04b", "sha256": "77c29fdd3fa8a0e3eff1e4feb72460c563742076f92b37b52863a6f2ab8fe408" }, "downloads": -1, "filename": "opcodes-0.3.4.tar.gz", "has_sig": false, "md5_digest": "9b0998c8f53d0a6aaa4628100e1eb04b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 186474, "upload_time": "2015-09-20T05:56:25", "url": "https://files.pythonhosted.org/packages/3a/68/01ab24502230d00fec0704999fdeabc3beec273db7e43ed38c3a6754923c/opcodes-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "98a95b3435d4a3564aafaac537d59e86", "sha256": "cfa6d1a6f9347ba34fe25925fad76a0e71ff6b6e64e74a26f2d7ed51c519112d" }, "downloads": -1, "filename": "opcodes-0.3.5.tar.gz", "has_sig": false, "md5_digest": "98a95b3435d4a3564aafaac537d59e86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 186492, "upload_time": "2015-09-20T17:46:37", "url": "https://files.pythonhosted.org/packages/30/f2/e5edcecbb4d93d89b63ed8cbd8d83418214810286360a00c20031c41ebdb/opcodes-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "664ab5ffd1d7f116767b90dca6606b4e", "sha256": "73ffd150980b80850303acc40f4b7a8f0852f8f80a160174936abbed58995473" }, "downloads": -1, "filename": "opcodes-0.3.6.tar.gz", "has_sig": false, "md5_digest": "664ab5ffd1d7f116767b90dca6606b4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 186510, "upload_time": "2015-09-30T16:57:31", "url": "https://files.pythonhosted.org/packages/72/f2/3e62ab87c5a67f3ad0bbab864175ef1f85e01fdcea3b8abbfeb376aeb24c/opcodes-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "d3df8510dbe207d8f2eeac6d51e31f10", "sha256": "7c098248a59f0a3a50c9a3cf65d684ba4c99fde9f142980a17c4d00e36b7701e" }, "downloads": -1, "filename": "opcodes-0.3.7.tar.gz", "has_sig": false, "md5_digest": "d3df8510dbe207d8f2eeac6d51e31f10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 186588, "upload_time": "2015-10-12T01:14:37", "url": "https://files.pythonhosted.org/packages/50/b8/1cbded6a378db845a565b6eea64584a0e96de767de03791109276abfeffa/opcodes-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "b91546b5a81d609e6be6551bdaed0086", "sha256": "34737248853218118e9630b719ed0a06a26c67d45e191ba8ff5b227a15597aed" }, "downloads": -1, "filename": "opcodes-0.3.8.tar.gz", "has_sig": false, "md5_digest": "b91546b5a81d609e6be6551bdaed0086", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 186724, "upload_time": "2015-10-14T18:37:57", "url": "https://files.pythonhosted.org/packages/f8/cd/0cc50359ffc76d6805aad35c2c416d5db02ed5a001a178b91a0e481b6f69/opcodes-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "44babaa612d085bd3906afec74d935f6", "sha256": "9577df6832376ddebc1abbccef09b52d347739c82107df67c8e89e02e0eff081" }, "downloads": -1, "filename": "opcodes-0.3.9.tar.gz", "has_sig": false, "md5_digest": "44babaa612d085bd3906afec74d935f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 216243, "upload_time": "2016-11-28T17:07:10", "url": "https://files.pythonhosted.org/packages/fc/29/b0adaa0b4383ba39a21e40b8053de510ce10100130080a550a820659d966/opcodes-0.3.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "581a9665c22574cf4321d3a7c32d4cde", "sha256": "16ec1cea4cf3dda767e6c0a718f664ef97a34ed24c91998a3c25c3f960c15fba" }, "downloads": -1, "filename": "opcodes-0.3.14.tar.gz", "has_sig": false, "md5_digest": "581a9665c22574cf4321d3a7c32d4cde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 218202, "upload_time": "2017-11-05T06:03:27", "url": "https://files.pythonhosted.org/packages/df/2d/4d98a725b5e73ba3d8588fd415cc64120182ebec78e0695ecae7408a2d74/opcodes-0.3.14.tar.gz" } ] }