{"id":19675454,"url":"https://github.com/kuninoto/42_libasm","last_synced_at":"2026-04-17T08:31:49.141Z","repository":{"id":196588846,"uuid":"692844210","full_name":"Kuninoto/42_libasm","owner":"Kuninoto","description":"Introduction to ASM. Some libc functions implemented in x86_64 ASM with Intel Syntax","archived":false,"fork":false,"pushed_at":"2025-04-01T23:39:52.000Z","size":1371,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T00:27:51.589Z","etag":null,"topics":["1337-libasm","1337school","42-libasm","42-school","42libasm","asm","assembly","assembly-language","assembly-x86","libasm","libc","x86-64"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kuninoto.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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-17T18:49:38.000Z","updated_at":"2025-04-01T23:39:56.000Z","dependencies_parsed_at":"2023-09-26T09:58:53.218Z","dependency_job_id":"b178d807-fe28-4036-b633-2ce6d5ee9d95","html_url":"https://github.com/Kuninoto/42_libasm","commit_stats":null,"previous_names":["kuninoto/42_libasm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Kuninoto/42_libasm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuninoto%2F42_libasm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuninoto%2F42_libasm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuninoto%2F42_libasm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuninoto%2F42_libasm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kuninoto","download_url":"https://codeload.github.com/Kuninoto/42_libasm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuninoto%2F42_libasm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31921813,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["1337-libasm","1337school","42-libasm","42-school","42libasm","asm","assembly","assembly-language","assembly-x86","libasm","libc","x86-64"],"created_at":"2024-11-11T17:24:08.948Z","updated_at":"2026-04-17T08:31:49.135Z","avatar_url":"https://github.com/Kuninoto.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# libasm (42Porto - 42Cursus)  \n\n## Description  \n\nA few string manipulation functions and libc system call wrappers written in x86_64 Assembly with the Intel syntax\n\n### Grade: 100/100  \n\n### Installing and running the project  \n1- Install dependencies  \n  \n\tsudo apt install -y nasm\n2- Clone this repository  \n\t\n\tgit clone https://github.com/Kuninoto/42_libasm\n3- Navigate to `libasm/`, assemble and wipe the artifact files  \n\t\n\tcd 42_libasm/libasm \u0026\u0026 make \u0026\u0026 make clean\n4- Compile your program with your new `libasm`\n\n\tExample (with C): cc -Wall -Wextra -Werror main.c libasm.a\n\n#### Makefile available targets  \n`make` or `make all` - Makes `libasm.a`  \n`make clean` - Deletes all the resulting object files  \n`make fclean` - Deletes `libasm.a` and all the resulting object files  \n`make re` - Deletes everything (object files and `libasm.a`) and rebuilds `libasm.a`  \n\n#### Adding new functions to this library:\n  - Add their prototypes to `libasm.h`  \n  - Add their source files to `libasm/`  \n  - Add their source file names to the `GENERAL` variable inside the Makefile  \n  - Rebuild the library with `make re`  \n\n##### To keep track of what's inside your resulting `libasm.a` run `ar -t libasm.a` \n\n## Useful links\n[You Can Learn Assembly in 10 Minutes (it’s easy)](https://www.youtube.com/watch?v=jPDiaZS-2ok)  \n[How do I know what registers function parameters will be mapped on?](https://stackoverflow.com/questions/28728742/how-do-i-know-what-registers-function-parameters-will-be-mapped-on)  \n[syscalls(2) man page](https://linux.die.net/man/2/syscalls)  \n[Linux System Call Table for x86_64](http://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/)  \n[x64 ASM Cheat Sheet](https://cs.brown.edu/courses/cs033/docs/guides/x64_cheatsheet.pdf)  \n[NASM tutorial](https://cs.lmu.edu/~ray/notes/nasmtutorial/)  \n[How does push and pop work in assembly](https://stackoverflow.com/questions/26026174/how-does-push-and-pop-work-in-assembly)  \n[CPU Registers x86](https://wiki.osdev.org/CPU_Registers_x86)  \n[Godbolt](https://godbolt.org/)  \n\n---\nMade by Nuno Carvalho (Kuninoto) | nnuno-ca@student.42porto.com  \n\u003cdiv id=\"badge\"\u003e \u003ca href=\"https://www.linkedin.com/in/nuno-carvalho-218822247\"/\u003e \u003cimg src=\"https://img.shields.io/badge/LinkedIn-blue?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\" alt=\"LinkedIn Badge\"/\u003e\u0026nbsp;\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuninoto%2F42_libasm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkuninoto%2F42_libasm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuninoto%2F42_libasm/lists"}