{ "info": { "author": "Daniel Kn\u00fcttel", "author_email": "daknuett@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Education", "Topic :: Education :: Testing" ], "description": "py_register_machine2\n********************\nA Register Machine package for Python3\n\n\nYou might take a look at the `docs `_ for a lot information about design, usage and the complete code documentation.\n\n\nInstalling PyRegisterMachine2\n=============================\n\n``py_register_machine2`` is a python3 package, so all you need to do is to place the project folder in your\n``$PYTHONPATH``. You are able to get the pythonpath using ``echo $PYTHONPATH`` and ``python3 -c \"import sys; print(sys.path)\"``.\n\nSo you are able to install the package using::\n\n\tcd /usr/local/lib/python3.5/dist-packages/\n\tgit clone https://github.com/daknuett/py_register_machine2\n\nOr::\n\n\tpython3 -m pip install py_register_machine2\n\nUsing PyRegisterMachine2\n========================\n\nUsing Prepared Machines\n-----------------------\n\nIn ``py_register_machine2.machines`` is a bunch of modules providing a bunch of *register machine definitions* \nthose are functions returning a 4-tuple: ``(processor, rom, ram, flash)``, maybe you need to invoke ``processor.setup_done()``.\n\nCreating Your Own Machines\n--------------------------\n\nIf the prepared machines do not match your requirements you might want to create your own machines,\nto do so you should study the `docs here `_.\n\nInstructionset, Machinecode and Assembly\n----------------------------------------\n\nThe Instructionset of a machine is defined by obhects inherited from ``py_register_machine2.core.commands.BaseCommand``,\na bunch of ready-to-use commands is in ``py_register_machine2.commands``.\n\nThe processor reads one word of data for the opcode, decodes this opcode and reads n words of data for n arguments.\nMachinecode can be witten using ``list`` objects like this::\n\n\tprogram = [0x16, 0x01, 0x01] # using the py_register_machine2.commands.basic_commands instructionset\n\t# this equals \"ldi 0x01 ECR\" and will halt the engine.\n\nThis machinecode can be programmed to a persistent device (ROM or Flash) using ::\n\n\trom.program(program)\n\t# or\n\tflash.program(program)\n\nThere is a basic Assembler in ``py_register_machine2.tools.assembler.assembler`` that uses the KASM2 assembly language to generate\nmachiecode ( a ``list`` object)\n\nThe Assembler uses a configured Processor and an open stream to generate the machinecode::\n\n\tfrom io import StringIO\n\tprocessor.setup_done()\n\tprogstr = \"ldi 0x01 ECR\"\n\tasm = Assembler(processor, StringIO(progstr))\n\tprogram = asm.assemble()\n\nOnce the ROM is programmed (the Processor starts executing code in the ROM) you are able to run the code using::\n\n\tprocessor.run()\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/daknuett/py_register_machine2", "keywords": "simulation virtualization processor registermachine", "license": "GPL v3", "maintainer": "", "maintainer_email": "", "name": "py_register_machine2", "package_url": "https://pypi.org/project/py_register_machine2/", "platform": "", "project_url": "https://pypi.org/project/py_register_machine2/", "project_urls": { "Homepage": "https://github.com/daknuett/py_register_machine2" }, "release_url": "https://pypi.org/project/py_register_machine2/0.1.4/", "requires_dist": null, "requires_python": "", "summary": "A Register Machine Package", "version": "0.1.4" }, "last_serial": 2893868, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "1770d790ddf860fc6e129a23880f6526", "sha256": "9640af1e7b61444bafd56376abdd0fe72e290993cf33cc504f44dafe9539c72d" }, "downloads": -1, "filename": "py_register_machine2-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1770d790ddf860fc6e129a23880f6526", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20973, "upload_time": "2016-09-10T18:58:38", "url": "https://files.pythonhosted.org/packages/64/8c/2bf10e0b95a0f6ed57c5f92a34d9c554b961f1135dfe2e0648a66332986b/py_register_machine2-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f582f9f472837f72c9ccadcde96931c9", "sha256": "a380e281afc7133055d7877deebe49e2d14f7c1e59b796b3857351601111a3a0" }, "downloads": -1, "filename": "py_register_machine2-0.0.1.tar.gz", "has_sig": false, "md5_digest": "f582f9f472837f72c9ccadcde96931c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14541, "upload_time": "2016-09-10T18:58:40", "url": "https://files.pythonhosted.org/packages/0c/05/c1e3ce7e878fabea9122bcbfcf741616b0bcaa643c4a29236637aee446d1/py_register_machine2-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "f0ef5d53379f82475e0a691fa97e1616", "sha256": "3b1c145eba21d5757e499aba8fd22757801605341152a9bd2bfc340a42b9a893" }, "downloads": -1, "filename": "py_register_machine2-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f0ef5d53379f82475e0a691fa97e1616", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 25791, "upload_time": "2016-09-13T10:44:35", "url": "https://files.pythonhosted.org/packages/2c/77/bc0815300221c4f5ae90aca810d0f8a01beb9817a05f4455d933c61820c5/py_register_machine2-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d53087f468751335b509e072578c1867", "sha256": "e5fdb6c1b869ff5f53072de17722fc86e4ba015cd459b02b6058c579079973c9" }, "downloads": -1, "filename": "py_register_machine2-0.0.2.tar.gz", "has_sig": false, "md5_digest": "d53087f468751335b509e072578c1867", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17505, "upload_time": "2016-09-13T10:44:50", "url": "https://files.pythonhosted.org/packages/6c/de/06b7d302a093df5432bb673cd1a3dd5e01eb19bab2a221f9076d0f0d886e/py_register_machine2-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "cf1365d2d0431353c3de92411fcf2a3e", "sha256": "40d6f775999addc005270487da130a356af9fb212c5a08934abfeb382b4ed396" }, "downloads": -1, "filename": "py_register_machine2-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "cf1365d2d0431353c3de92411fcf2a3e", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 25813, "upload_time": "2016-09-13T12:48:49", "url": "https://files.pythonhosted.org/packages/0f/56/954aba6ab06d773cb5328f481f51deb952da7a61a35f5e56daf55d4413c6/py_register_machine2-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f82352295cb9e0cbcd7eade960e21deb", "sha256": "e8f642da64ab0df5dfe93d10a090981b0fc68a48fca347b709b63b8c1a47ddfc" }, "downloads": -1, "filename": "py_register_machine2-0.0.3.tar.gz", "has_sig": false, "md5_digest": "f82352295cb9e0cbcd7eade960e21deb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17515, "upload_time": "2016-09-13T12:49:04", "url": "https://files.pythonhosted.org/packages/d2/90/7b2c3138b5d56bf80e837aed821a0db9ec9a408d56d8169088886abea0f4/py_register_machine2-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "92967c67a3728e1bf47ead2a740d6b0f", "sha256": "2d7c4b544eb2d8c230453f9eef96a002842410a8217f737ef3739d450ac545d2" }, "downloads": -1, "filename": "py_register_machine2-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "92967c67a3728e1bf47ead2a740d6b0f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 27309, "upload_time": "2016-09-13T19:27:05", "url": "https://files.pythonhosted.org/packages/e0/f3/43882c1e97fbecec4920105e3018896f1865acc95abe9abaee2ba471d875/py_register_machine2-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c39235666419e047ae635e86449e505", "sha256": "5eae834036b52144e6b9edb1b52d47707070aafc42634f73b0d8265c33bcf99e" }, "downloads": -1, "filename": "py_register_machine2-0.0.4.tar.gz", "has_sig": false, "md5_digest": "4c39235666419e047ae635e86449e505", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17042, "upload_time": "2016-09-13T19:27:27", "url": "https://files.pythonhosted.org/packages/e6/25/65dc8591db078d1e1599c59ccb1b883b792271d2040dd988b12ea3044e77/py_register_machine2-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "cd170b1772faeb1add9c47575fdf587a", "sha256": "7716a2feacc3d2ad9933dcacb05648c0366883ecc299a32b6449c2dd842c041a" }, "downloads": -1, "filename": "py_register_machine2-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "cd170b1772faeb1add9c47575fdf587a", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 28456, "upload_time": "2016-09-30T13:07:17", "url": "https://files.pythonhosted.org/packages/99/e1/656272839f3705874ca879cc0e9e6ab301acb869f749bce4b17b7803ab88/py_register_machine2-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fdf657fb0a6d54bd77031b364832686", "sha256": "d217e64db1176c1551f579ed11da08191f86bc09b8b8cabdf6827ab170bc1aee" }, "downloads": -1, "filename": "py_register_machine2-0.0.5.tar.gz", "has_sig": false, "md5_digest": "7fdf657fb0a6d54bd77031b364832686", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17910, "upload_time": "2016-09-30T13:07:36", "url": "https://files.pythonhosted.org/packages/e0/28/2dc2024dace6e1c71d25fa31be2f8e8881b5c21600337c47b5ec0defc65e/py_register_machine2-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "8414291d8b22a77e4c6998c90675bca7", "sha256": "e91f0a1f18b734a5aa3db1ea812a64d723804325ba09f37481ed8f29d907b292" }, "downloads": -1, "filename": "py_register_machine2-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "8414291d8b22a77e4c6998c90675bca7", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 31595, "upload_time": "2016-11-21T20:18:27", "url": "https://files.pythonhosted.org/packages/bd/ee/8150ea30ced9609cb3e02ffd0f45bc9de3308d1ff28ad3f628b523efb4b1/py_register_machine2-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7201c329c81afbf5921603cce823c372", "sha256": "a35b9476b81e3fd53b7f18dd091f572dce39a8b4e176f85a4e6340eb9e37d4b4" }, "downloads": -1, "filename": "py_register_machine2-0.0.6.tar.gz", "has_sig": false, "md5_digest": "7201c329c81afbf5921603cce823c372", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20027, "upload_time": "2016-11-21T20:18:47", "url": "https://files.pythonhosted.org/packages/9d/d8/6e25dc063d6713190db7380f020cd1bead496b0981970d29c4b09261cc7d/py_register_machine2-0.0.6.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "d383468cf5459e0aac2bf1484cacc109", "sha256": "6d880aae2e4b670b667aeac532792f62104afedd7b704e6e1a20c59c881ff6af" }, "downloads": -1, "filename": "py_register_machine2-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d383468cf5459e0aac2bf1484cacc109", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 31769, "upload_time": "2016-11-22T19:23:15", "url": "https://files.pythonhosted.org/packages/9a/e2/92fd7054dcec8b789200526b9dc011565086f6f527911ea932b33bc2e949/py_register_machine2-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e8c6a3a50a6383acbeb8818a659b63c3", "sha256": "1deaa773fbf2b7574c5a04ae94caa2e546dc858c347839eb39e15563f19d7739" }, "downloads": -1, "filename": "py_register_machine2-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e8c6a3a50a6383acbeb8818a659b63c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20193, "upload_time": "2016-11-22T19:23:31", "url": "https://files.pythonhosted.org/packages/47/b6/cb0c7e2185a0f053de840a6da614839d18ef509453cfa19ea0bc2b09ca76/py_register_machine2-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "eedc4d67f8c56f6a61b32d3ef764ed71", "sha256": "1d400c79e70de612aba4e544cb8c8010320076db480dcf12a5bf16136811da8a" }, "downloads": -1, "filename": "py_register_machine2-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "eedc4d67f8c56f6a61b32d3ef764ed71", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 31901, "upload_time": "2016-11-23T18:10:18", "url": "https://files.pythonhosted.org/packages/38/52/e46d78d8a0551604e6b098e134b55676d5eafe3b594e740b0e8802587d5a/py_register_machine2-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8dfc72cbb9bff19c55fb3bbaccb19dec", "sha256": "38427a947473ef2a6ca44c1597c401e4c947c343ea41695fc0a6858b868ed4c9" }, "downloads": -1, "filename": "py_register_machine2-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8dfc72cbb9bff19c55fb3bbaccb19dec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20283, "upload_time": "2016-11-23T18:10:33", "url": "https://files.pythonhosted.org/packages/1e/f7/516f15e551d1bc7efdab0ca4b8cb72f9986e8f8913b3aca6231cf89dcab1/py_register_machine2-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "2fdb89321604d187195fbdd9545ab8ca", "sha256": "5e252f29ce8d00b1a71b652c204441be0fd5ed1e889b25aa21f5d18f43d3c882" }, "downloads": -1, "filename": "py_register_machine2-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2fdb89321604d187195fbdd9545ab8ca", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 35629, "upload_time": "2016-12-23T14:54:30", "url": "https://files.pythonhosted.org/packages/0e/14/be86c34b97fead8ba3b458a483fafdb6c0be99226df0dfa3c4d953d93cbe/py_register_machine2-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "26c2325109a40bd8ff8eb6294fa06a2f", "sha256": "acd50cadd7978b11f4b91fead93229dda03f7338401cb82c3a4ad334cdcf673e" }, "downloads": -1, "filename": "py_register_machine2-0.1.2.tar.gz", "has_sig": false, "md5_digest": "26c2325109a40bd8ff8eb6294fa06a2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23039, "upload_time": "2016-12-23T14:54:48", "url": "https://files.pythonhosted.org/packages/6c/f5/b24a6072c660962aa28130f1273c375935699f0600e83404058622c5b72d/py_register_machine2-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "2aa605e490e5cbff892fe4ab7ada502f", "sha256": "4db4d33417ccf7a1029a9c3849f2850e4b32f3d41ffbc0779242faecf7b3f52f" }, "downloads": -1, "filename": "py_register_machine2-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2aa605e490e5cbff892fe4ab7ada502f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 39364, "upload_time": "2017-04-04T11:01:40", "url": "https://files.pythonhosted.org/packages/c2/1e/29a9dac0adb09ca9260d38fe96542d67f826166dff4abfc07fd509cc4e0f/py_register_machine2-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6cb645d611146bb0219a8f0e42160adb", "sha256": "5b9b72dbc54dee43e1822c2263c758d090db428222b8adb9c31141eae82906b8" }, "downloads": -1, "filename": "py_register_machine2-0.1.3.tar.gz", "has_sig": false, "md5_digest": "6cb645d611146bb0219a8f0e42160adb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25098, "upload_time": "2017-04-04T11:01:29", "url": "https://files.pythonhosted.org/packages/e6/e7/e5797fb7fc4d31b676c05a669afdaf1f570d365221274b057d36d3cdcf9d/py_register_machine2-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "fab07ab3554f6ba5c53d4b60cf381255", "sha256": "7b73814abb469ee6fbc6baf7947020fb03905f723861e11a6b152704764b04c6" }, "downloads": -1, "filename": "py_register_machine2-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "fab07ab3554f6ba5c53d4b60cf381255", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 39393, "upload_time": "2017-05-23T17:51:11", "url": "https://files.pythonhosted.org/packages/51/23/6ea71ea65d02106e7ae1161b6dc73f40a9d5a3b04b1916beef44d7a2eac7/py_register_machine2-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e03f7b321d7de6ee3e0450c9a1e9a939", "sha256": "ecfffd87d44e6e45f67fae10f7935a5d41b86c98fa888e4cdba0a45558069fc5" }, "downloads": -1, "filename": "py_register_machine2-0.1.4.tar.gz", "has_sig": false, "md5_digest": "e03f7b321d7de6ee3e0450c9a1e9a939", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25122, "upload_time": "2017-05-23T17:51:19", "url": "https://files.pythonhosted.org/packages/9d/1a/deeb63881d26e0108ee9c6f1e0e101398fb63cd38b5f0c7ab802589013cd/py_register_machine2-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fab07ab3554f6ba5c53d4b60cf381255", "sha256": "7b73814abb469ee6fbc6baf7947020fb03905f723861e11a6b152704764b04c6" }, "downloads": -1, "filename": "py_register_machine2-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "fab07ab3554f6ba5c53d4b60cf381255", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 39393, "upload_time": "2017-05-23T17:51:11", "url": "https://files.pythonhosted.org/packages/51/23/6ea71ea65d02106e7ae1161b6dc73f40a9d5a3b04b1916beef44d7a2eac7/py_register_machine2-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e03f7b321d7de6ee3e0450c9a1e9a939", "sha256": "ecfffd87d44e6e45f67fae10f7935a5d41b86c98fa888e4cdba0a45558069fc5" }, "downloads": -1, "filename": "py_register_machine2-0.1.4.tar.gz", "has_sig": false, "md5_digest": "e03f7b321d7de6ee3e0450c9a1e9a939", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25122, "upload_time": "2017-05-23T17:51:19", "url": "https://files.pythonhosted.org/packages/9d/1a/deeb63881d26e0108ee9c6f1e0e101398fb63cd38b5f0c7ab802589013cd/py_register_machine2-0.1.4.tar.gz" } ] }