{"id":15021123,"url":"https://github.com/streamich/ass-js","last_synced_at":"2025-04-04T11:07:13.781Z","repository":{"id":13570686,"uuid":"60908393","full_name":"streamich/ass-js","owner":"streamich","description":"Assembler.js — X86_64 and Ethereum","archived":false,"fork":false,"pushed_at":"2025-03-27T09:39:42.000Z","size":1261,"stargazers_count":137,"open_issues_count":8,"forks_count":14,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-28T10:03:10.423Z","etag":null,"topics":["asm","assembler","ethereum","x86-64"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/ass-js","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/streamich.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"publiccode":null,"codemeta":null},"funding":{"github":"streamich"}},"created_at":"2016-06-11T13:30:04.000Z","updated_at":"2025-03-27T09:39:44.000Z","dependencies_parsed_at":"2024-01-27T23:24:22.583Z","dependency_job_id":"815c05c1-ab4c-41ee-9347-cb48317b487c","html_url":"https://github.com/streamich/ass-js","commit_stats":{"total_commits":821,"total_committers":5,"mean_commits":164.2,"dds":0.5286236297198539,"last_synced_commit":"73b20af59b325d234385d8299833d49574ccbc75"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamich%2Fass-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamich%2Fass-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamich%2Fass-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamich%2Fass-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/streamich","download_url":"https://codeload.github.com/streamich/ass-js/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247166146,"owners_count":20894652,"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":["asm","assembler","ethereum","x86-64"],"created_at":"2024-09-24T19:56:09.835Z","updated_at":"2025-04-04T11:07:13.762Z","avatar_url":"https://github.com/streamich.png","language":"TypeScript","funding_links":["https://github.com/sponsors/streamich"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1\u003e(‿*‿) \u003cbr/\u003e Assembler.js\u003c/h1\u003e\n\u003c/div\u003e\n\n[![][npm-badge]][npm-url] [![][travis-badge]][travis-url]\n\nAssembler implemented in JavaScript:\n\n  - Pluggable design\n  - X64 and Ethereum assembler\n  - See [supported X64 mnemonics](./mnemonics/x64/)\n  - Standalone, use it in browser or Node.js\n\n## Install\n\n```shell\nnpm i ass-js\n```\n\n## Getting Started\n\nStore `0xBABE` in `RAX` register\n\n```js\nimport {X64} from 'ass-js';\n\nconst asm = X64();\nasm._('mov', ['rax', 0xBABE]);\n```\n\nCompile to machine code\n\n```js\nconsole.log(code.compile()); // \u003cBuffer 48 c7 c0 be ba 00 00\u003e\n```\n\nShow text representation\n\n```js\nconsole.log(String(code));\n// 000 main:\n// 001   movq rax, 0x0000BABE ; 000000|000000 0x48, 0xC7, 0xC0, 0xBE, 0xBA, 0x00, 0x00 7 bytes\n```\n\nUse templates\n\n```js\nconst template = _ =\u003e {\n    _('mov', ['rdx', 0xC001]);\n    _('mov', ['rax', 0xBABE]);\n};\n\nasm.code(template);\n```\n\n## Docs\n\n  - [Plugins](./docs/plugins.md)\n    - X64\n      - [Getting started](./docs/x64/getting-started.md)\n      - [Operands](./docs/x64/operands.md)\n      - [Expressions](./docs/x64/expressions.md)\n    - [Ethereum](./docs/ethereum/ethereum.md)\n    - Data\n      - `d*` - [add binary data](./docs/data/db.md)\n      - `res*` - [add uninitialized data](./docs/data/resb.md)\n      - `incbin` - [include binary file](./docs/data/incbin.md)\n    - Util\n      - `label` - [insert a label using `label` and `lbl`](./docs/util/label.md)\n      - `align` - [align code to some factor boundary](./docs/util/align.md)\n  - Reference\n    - `Asm`\n    - `Expression`\n    - `Compilation`\n  - Examples\n    - [Hello world](./docs/examples/hello_world.md)\n    - [`cpuid`](./docs/examples/cpuid.md)\n\n## License\n\n[Unlicense](./LICENSE) \u0026mdash; public domain.\n\n\n\n[npm-url]: https://www.npmjs.com/package/ass-js\n[npm-badge]: https://img.shields.io/npm/v/ass-js.svg\n[travis-url]: https://travis-ci.org/streamich/ass-js\n[travis-badge]: https://travis-ci.org/streamich/ass-js.svg?branch=master\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstreamich%2Fass-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstreamich%2Fass-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstreamich%2Fass-js/lists"}