{"id":17489495,"url":"https://github.com/floydz/python_x86_information","last_synced_at":"2025-03-04T04:30:39.369Z","repository":{"id":92433048,"uuid":"588216573","full_name":"FloydZ/python_x86_information","owner":"FloydZ","description":"Simplified python interface to get the throughput and some other information from a x86 instruction","archived":true,"fork":false,"pushed_at":"2024-02-26T18:01:26.000Z","size":189,"stargazers_count":0,"open_issues_count":11,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-13T00:43:01.557Z","etag":null,"topics":["assembly-x86","performance","python","throughput"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FloydZ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-01-12T15:50:02.000Z","updated_at":"2024-04-25T18:26:49.000Z","dependencies_parsed_at":"2024-01-19T12:44:21.581Z","dependency_job_id":"4a4308bd-307b-4f70-b93f-ee0577664755","html_url":"https://github.com/FloydZ/python_x86_information","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FloydZ%2Fpython_x86_information","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FloydZ%2Fpython_x86_information/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FloydZ%2Fpython_x86_information/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FloydZ%2Fpython_x86_information/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FloydZ","download_url":"https://codeload.github.com/FloydZ/python_x86_information/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241785962,"owners_count":20020003,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assembly-x86","performance","python","throughput"],"created_at":"2024-10-19T05:43:04.712Z","updated_at":"2025-03-04T04:30:39.082Z","avatar_url":"https://github.com/FloydZ.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Intel x86/64 instruction information python package. Let you easily pull all\nsorts of information for a instruction via python.\n\nFeatures:\n=========\n - in memory compiler/assembler via [pycca](https://github.com/campagnola/pycca)\n\nInstallation:\n=============\n\nRun:\n```\ngit clone https://github.com/FloydZ/python_x86_information\ncd python_x86_information\n./setup.sh\n```\n\nNote the `setup.sh` script at the end. its needed to download all necessary data.\n\nNix:\n====\nsimply run:\n```\nnix-shell\n```\nto start the development\n\nUsage:\n======\n\nTo recieve general information about an instruction you can call:\n```python\ni = information(\"adc\")\nprint(i)\n```\n\nAll function return a list of return values if it was not possible to detect precisly which instruction was meant.\n\nTo get the exact instruction infromation returned call one the following\n```python\ninformation(\"adc\", [\"rax\", \"rbx\"])\ninformation(\"adc\", \"r64, rbx\")\n```\nNote that you can either pass the arguments as a list of strings or as a single string. Also you can either pass the original register/memory 'names' or their types like `r16,r32,r64,m64` and so on.\n\nFurthermore each function has an additional parameter called `arch`, which let\none to specify the architecture for which the information should be returned.\nAllowed values are `'CON', 'WOL', 'NHM', 'WSM', 'SNB', 'IVB', 'HSW', 'BDW', 'SKL', 'SKX', 'KBL', 'CFL', 'CNL', 'ICL', 'ZEN+', 'ZEN2'`\n\n\n\nInformation Source:\n===================\n\nMany thanks to the great work of [zwegners x86-info-term](https://github.com/zwegner/x86-info-term) and\n[uops](https://uica.uops.info/)\n\n- [Intel](https://www.intel.com/content/dam/develop/public/us/en/include/intrinsics-guide/data-latest.xml)\n- [uops](https://www.uops.info/instructions.xml)\n\nTODO:\n======\n - [ ] parser for the C type language in intel description\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloydz%2Fpython_x86_information","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffloydz%2Fpython_x86_information","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffloydz%2Fpython_x86_information/lists"}