{"id":16059864,"url":"https://github.com/talaatmagdyx/assembly","last_synced_at":"2025-04-05T08:16:11.465Z","repository":{"id":109180139,"uuid":"96672984","full_name":"talaatmagdyx/Assembly","owner":"talaatmagdyx","description":"Example Assembly language(NASM Example)","archived":false,"fork":false,"pushed_at":"2017-07-09T09:29:21.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-10T15:50:47.975Z","etag":null,"topics":["assembly","assembly-language","nasm","nasm-assembly"],"latest_commit_sha":null,"homepage":null,"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/talaatmagdyx.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":"2017-07-09T09:06:26.000Z","updated_at":"2023-02-05T11:36:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"f167935f-e99a-44e9-a338-7be8e2943187","html_url":"https://github.com/talaatmagdyx/Assembly","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talaatmagdyx%2FAssembly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talaatmagdyx%2FAssembly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talaatmagdyx%2FAssembly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talaatmagdyx%2FAssembly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/talaatmagdyx","download_url":"https://codeload.github.com/talaatmagdyx/Assembly/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305946,"owners_count":20917208,"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","nasm","nasm-assembly"],"created_at":"2024-10-09T04:01:33.777Z","updated_at":"2025-04-05T08:16:11.459Z","avatar_url":"https://github.com/talaatmagdyx.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":" (NASM) is an assembler and dissembler for the Intel x86 architecture and is commonly used to create 16-bit, 32-bit (IA-32) and 64-bit (x86-64) programs. \n It is available on multiple operating systems like Linux or Windows, for example.\n An assemble will turn your low-level coding, using mnemonics, into machine language that can be understood by the processor. \n\ncreate an executable for Linux from NASM source code. \n\nStep 1. Create a source file\n\nYou can use any text editor to create your source file for NASM such as Sublime (favourite Editor),Atom, KWrite, or XEmacs. \n\nWhen you save your file, give it the extension .asm \n\nStep 2. Assemble the source file\n\nFor this step, you will need NASM software installed on your machine. If you're running Debian or Ubuntu, simply type the command:\n\n`sudo apt-get install nasm`\n\nIf you have another Linux distribution, you must use your distribution's package manager (eg Urpmi, Yum, Emerge) or download NASM from the official site.\n\nUse the following command line to assemble your source file:\n\n`nasm -f elf test.asm`\n\nIn the example, the saved .asm file is called test.asm\n\nThis will create a file named test.o in the current directory. Note: This file is not executable - it is still an object file.\n\nStep 3. Creating the executable\n\nNow that we have our object file named test.o we must create our executable. \n\nTwo cases are presented here:\n\n1-Your program begins with a procedure called \"_start\". This means that your program has its own point of entry without the use of the main function. However, you'll need to use the \"l\" to create your executable:\n\n`ld test.o -o test`\n\n2-Your program begins with a procedure called \"main\". You will need to use gcc to create your executable:\n\n`gcc test.o -o test`\n\n`Note:` This Repository work in First Case\n\nOur executable is created, it is tested and is in the current directory.\n\nStep 4. Program Execution\n\nTo run the program called \"test\", just type this command:\n\n`. / test `\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalaatmagdyx%2Fassembly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftalaatmagdyx%2Fassembly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalaatmagdyx%2Fassembly/lists"}