{"id":20930197,"url":"https://github.com/dpbm/learning-assembly","last_synced_at":"2026-04-13T00:46:16.038Z","repository":{"id":63545347,"uuid":"568439029","full_name":"Dpbm/learning-assembly","owner":"Dpbm","description":"Notes and tests that I've done while I learn assembly","archived":false,"fork":false,"pushed_at":"2024-05-01T16:07:12.000Z","size":39,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-19T18:51:54.773Z","etag":null,"topics":["assembly","assembly-language","assembly-language-programming","assembly-x86","computer-science","debian","linux","machine","machine-language","nasm"],"latest_commit_sha":null,"homepage":"https://dpbm.github.io/learning-assembly/","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dpbm.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-11-20T14:39:27.000Z","updated_at":"2024-05-01T16:07:16.000Z","dependencies_parsed_at":"2024-01-07T17:06:57.981Z","dependency_job_id":"13b6b9e1-12b6-44f1-ab7e-459186280041","html_url":"https://github.com/Dpbm/learning-assembly","commit_stats":null,"previous_names":["dpbm/aprendendo-assembly"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dpbm%2Flearning-assembly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dpbm%2Flearning-assembly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dpbm%2Flearning-assembly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dpbm%2Flearning-assembly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dpbm","download_url":"https://codeload.github.com/Dpbm/learning-assembly/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243324266,"owners_count":20273100,"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","assembly-language","assembly-language-programming","assembly-x86","computer-science","debian","linux","machine","machine-language","nasm"],"created_at":"2024-11-18T21:29:49.884Z","updated_at":"2025-12-29T01:09:32.953Z","avatar_url":"https://github.com/Dpbm.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![matrix](/assets/matrix.jpg)](https://unsplash.com/photos/FXFz-sW0uwo?utm_source=unsplash\u0026utm_medium=referral\u0026utm_content=creditShareLink)\n\n# Learning Assembly\n\n## Take a look at my [assembly](https://pt.wikipedia.org/wiki/Linguagem_assembly) apprenticeship.\n\nIn this respository I'll seeall my tests during my assembly apprenticeship. \nIf you want to learn it too, take a look at the following references:\n\n- [Tutorials point](https://www.tutorialspoint.com/assembly_programming/) \n- [The Art of Assembly Language](https://www.ic.unicamp.br/~pannain/mc404/aulas/pdfs/Art%20Of%20Intel%20x86%20Assembly.pdf)\n- [RiscV manual](https://riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf)\n\nalso [google](google.com) and [chatgpt](https://chat.openai.com/) are some pretty good tools to understand better some commands, registers, etc. \n\n# How to run the code\n\nTo test these asm codes, I'll need to have installed:  \n\n* [nasm](https://www.nasm.us/) (assembler)\n* [ld](https://manpages.ubuntu.com/manpages/trusty/man1/ld.1.html) (linker)\n\n*Note: I'm using linux here, so maybe you'll need a different compiling and linking command to run this porperly!*\n\nFor `debian` based linux distros, you can run: \n\n```bash\n    sudo apt update\n    sudo apt upgrade\n    sudo apt install binutils nasm\n```\n\nTo install them.\n\nAlso, if you use [asdf](https://asdf-vm.com/), I made a plugin to install `nasm` easily, just jump to [my repo](https://github.com/Dpbm/asdf-nasm) and follow the instructions. \n\nFinally, if you want to test the [riscv](./risc-v/) part, it's a good idea to upload the source files to [this online simulator](https://ascslab.org/research/briscv/simulator/simulator.html).\n\n---\n\nAfter that, You can use the [run bash script](./run) as the following:\n\n```bash\n    chmod +x ./run\n    ./run arquivo.asm\n```\n\n---\n\nAnother alternative for it, is using the [make](https://www.gnu.org/software/make/) command.\n\ncase you don't have it installed:\n```bash\n    sudo apt update\n    sudo apt upgrade\n    sudo apt install build-essential make \n```\n\nand then run:\n\n```bash\n    # the filename without the .asm extension\n    make filename=filename\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpbm%2Flearning-assembly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdpbm%2Flearning-assembly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpbm%2Flearning-assembly/lists"}