{ "info": { "author": "CQU-AI", "author_email": "peter@mail.loopy.tech", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation", "Topic :: Software Development :: Libraries" ], "description": "MIPS-Simulator\n==============\n\n|GitHub release (latest by date)| |PyPI| |Travis-CI|\n\nIntroduction\n------------\n\nMIPS-Simulator runs MIPS32 programs. Unlike real simulator, which\nassembles the instructions into machine code and executes them,\nMIPS-Simulator just parse the instructions and runs them using python\ncode. In other words, MIPS-simulator actually interprets mips\ninstructions.\n\n.. image:: https://raw.githubusercontent.com/CQU-AI/pymips/master/example.png\n\nNote\n----\n\n- This project is in its early stage, which means some functions may\n not supported yet.\n\nInstall\n-------\n\n- With pip : ``pip3 install fengyong``\n- With src : Clone or fork this project, then build it with\n ``python3 setup.py install``\n\nUsage\n-----\n\nShell\n~~~~~\n\nAfter install, you can run a mips shell with ``mips-shell`` command.\n\nAssemble\n~~~~~~~~\n\n.. code:: python\n\n from fengyong import Assembler\n\n instructions = \"\"\"\n j 10000\n add $s0,$a1,$t7\n sw $s1,10($s2)\"\"\"\n\n machine_code = Assembler.encode(instructions)\n print(machine_code.bin)\n print(machine_code.value_base(16))\n\nDisAssemble\n~~~~~~~~~~~\n\n.. code:: python\n\n from fengyong import DisAssembler\n from fengyong import RegData\n\n machine_code = RegData(\"0x8002710af820ae51000a\")\n instructions = DisAssembler.decode(machine_code)\n print(instructions)\n\nSimulate - RUN!\n~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from fengyong import Simulator\n\n\n # Run mips instruction in line\n Simulator.run_line(\"addi $s0, $s1, 10\")\n\n # Run asm file\n Simulator.run_file(\"../test/drings.asm\")\n\nSimulate - Debug\n~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from fengyong import Registers\n from fengyong import RegData\n \n \n # Set the register data\n Registers.reg_set(\"$s0\",RegData(100))\n \n # Get the register data\n res = Registers.reg_get(\"$s0\")\n\n # print all the \"s\" registers\n Registers.print(\"s\")\n\n # print all registers\n Registers.print()\n\nExample\n~~~~~~~\n\n- `Sample1 `__\n\nContributing\n------------\n\nRead\n`CONTRIBUTING `__\nfor more information.\n\n.. |GitHub release (latest by date)| image:: https://img.shields.io/github/v/release/cqu-ai/pymips\n.. |PyPI| image:: https://img.shields.io/pypi/v/fengyong\n.. |Travis-CI| image:: https://img.shields.io/travis/com/CQU-AI/pymips", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/CQU-AI/pymips", "keywords": "", "license": "MIT License", "maintainer": "loopyme", "maintainer_email": "peter@mail.loopy.tech", "name": "fengyong", "package_url": "https://pypi.org/project/fengyong/", "platform": "all", "project_url": "https://pypi.org/project/fengyong/", "project_urls": { "Homepage": "https://github.com/CQU-AI/pymips" }, "release_url": "https://pypi.org/project/fengyong/1.3.0/", "requires_dist": null, "requires_python": "", "summary": "Run MIPS with python!", "version": "1.3.0", "yanked": false, "yanked_reason": null }, "last_serial": 6023954, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "e8c1028ee3b96e659d85107e01eecd40", "sha256": "191fb1367f3f3cf3c5c6805533ee16c6cbbe99162431c36e2a3a5728a491a7ad" }, "downloads": -1, "filename": "fengyong-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e8c1028ee3b96e659d85107e01eecd40", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2491, "upload_time": "2019-10-18T16:20:27", "upload_time_iso_8601": "2019-10-18T16:20:27.332067Z", "url": "https://files.pythonhosted.org/packages/e7/f7/212cceee2f0b278e257fa6eae1185341f6b87a947e9f0bae822bb88c08ed/fengyong-1.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1166b23f3550ece01b6e763e11fa1dff", "sha256": "caa68f0dc32dc978f997918f0a6d04efbe51164a7bc6de7b82b71414c5a52051" }, "downloads": -1, "filename": "fengyong-1.0.0.tar.gz", "has_sig": false, "md5_digest": "1166b23f3550ece01b6e763e11fa1dff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1429, "upload_time": "2019-10-18T16:20:30", "upload_time_iso_8601": "2019-10-18T16:20:30.300059Z", "url": "https://files.pythonhosted.org/packages/26/ef/3bab42f5f2dde66554d9a34f5623983e5ccfb9e19a41067e60b36562acbc/fengyong-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "8e13d137d4de97f38fb30f79c95a91eb", "sha256": "4ea0da66e4eb0b3a5503a9812ba12ae5e33de340346792b059d239a7b6d215f6" }, "downloads": -1, "filename": "fengyong-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8e13d137d4de97f38fb30f79c95a91eb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2615, "upload_time": "2019-10-19T01:35:10", "upload_time_iso_8601": "2019-10-19T01:35:10.270724Z", "url": "https://files.pythonhosted.org/packages/57/7b/5c182eb86a085e29cb2d2cd698da6f7404806f699c4991123a611b02d727/fengyong-1.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5167cb38a29165b2e8c1620f59cf8485", "sha256": "ed3b860bb74256f7833153cb66284856db8f60bb1dd2ab60638edd071c686fa9" }, "downloads": -1, "filename": "fengyong-1.1.0.tar.gz", "has_sig": false, "md5_digest": "5167cb38a29165b2e8c1620f59cf8485", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2053, "upload_time": "2019-10-19T01:35:11", "upload_time_iso_8601": "2019-10-19T01:35:11.659748Z", "url": "https://files.pythonhosted.org/packages/5b/35/f78175a9ea510ae221b72783b91aa1a72ffda92d707b68776f16390ce5fa/fengyong-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "7d92ac120349606bed2e4be9b0872ae3", "sha256": "97aefb05b16f34154166cfee2ed9bbf6d2e091126bbc5207fcf637430e2bc04b" }, "downloads": -1, "filename": "fengyong-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7d92ac120349606bed2e4be9b0872ae3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11551, "upload_time": "2019-10-19T02:33:57", "upload_time_iso_8601": "2019-10-19T02:33:57.429905Z", "url": "https://files.pythonhosted.org/packages/be/29/c0dfeef07c0891b1cfbf8badfe3d1717f65ab42d42bf0bb59fd0f4a5619b/fengyong-1.1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "46c1eb07c32360440ee20a750b32ec38", "sha256": "896a4199a02fa4fd041689d1413cc0697e10ea19a774c5ed8e751a21ef226b4f" }, "downloads": -1, "filename": "fengyong-1.1.2.tar.gz", "has_sig": false, "md5_digest": "46c1eb07c32360440ee20a750b32ec38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7845, "upload_time": "2019-10-19T02:33:59", "upload_time_iso_8601": "2019-10-19T02:33:59.025596Z", "url": "https://files.pythonhosted.org/packages/3a/7c/c988ab09b952168950b5efa208c93ee88bc50b9b17e379ab3ec003751397/fengyong-1.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "c7533e285431688ff4fcaa768afb5835", "sha256": "15d3ea57d2912433534c07a4ca31261be256d8054cda311d8144869b8fc620a8" }, "downloads": -1, "filename": "fengyong-1.2.0-py3.6.egg", "has_sig": false, "md5_digest": "c7533e285431688ff4fcaa768afb5835", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 31682, "upload_time": "2019-10-24T13:44:55", "upload_time_iso_8601": "2019-10-24T13:44:55.325621Z", "url": "https://files.pythonhosted.org/packages/a1/25/bd55c2f85bbf19a623d7fd4daf5279b88afe44f131aa42ccf3662c0a7393/fengyong-1.2.0-py3.6.egg", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2b62ea9f7ddc81949eb920689857bf09", "sha256": "07b1663901ce38efac3e777c18be7ec5763bf7e5f4c9909a756b6796a2a5393f" }, "downloads": -1, "filename": "fengyong-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2b62ea9f7ddc81949eb920689857bf09", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12578, "upload_time": "2019-10-19T04:55:39", "upload_time_iso_8601": "2019-10-19T04:55:39.153965Z", "url": "https://files.pythonhosted.org/packages/64/8e/f308357dab0b4fa99fde3295c35c8ffaba2d4191d9aa6cfe71b718bc4628/fengyong-1.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3d9658c593bd7a8510fad9521c2855d5", "sha256": "d2b6ec9259092acd2f86ccfeddee6a889d28707cbbc1c73ee8833ce18ef6a0fe" }, "downloads": -1, "filename": "fengyong-1.2.0.tar.gz", "has_sig": false, "md5_digest": "3d9658c593bd7a8510fad9521c2855d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8866, "upload_time": "2019-10-19T04:55:41", "upload_time_iso_8601": "2019-10-19T04:55:41.262994Z", "url": "https://files.pythonhosted.org/packages/71/dc/4e221fb7e58e11b584c6d1e5d83841adc63ab54a31d3854abc2bfb021571/fengyong-1.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "40880a0910af86e9418815adb890d419", "sha256": "c50dff769e4344a986266fcc9162f6616ad377785cac42662448291bf07e57fc" }, "downloads": -1, "filename": "fengyong-1.3.0.tar.gz", "has_sig": false, "md5_digest": "40880a0910af86e9418815adb890d419", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10859, "upload_time": "2019-10-24T13:44:58", "upload_time_iso_8601": "2019-10-24T13:44:58.690779Z", "url": "https://files.pythonhosted.org/packages/79/5c/a0044006244c58e84a63c5cb3e129d90d564365d0faee4b8d336dd32fc9a/fengyong-1.3.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "40880a0910af86e9418815adb890d419", "sha256": "c50dff769e4344a986266fcc9162f6616ad377785cac42662448291bf07e57fc" }, "downloads": -1, "filename": "fengyong-1.3.0.tar.gz", "has_sig": false, "md5_digest": "40880a0910af86e9418815adb890d419", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10859, "upload_time": "2019-10-24T13:44:58", "upload_time_iso_8601": "2019-10-24T13:44:58.690779Z", "url": "https://files.pythonhosted.org/packages/79/5c/a0044006244c58e84a63c5cb3e129d90d564365d0faee4b8d336dd32fc9a/fengyong-1.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }