{"id":20570313,"url":"https://github.com/younghakim7/arm64_assembly_language","last_synced_at":"2025-10-16T09:16:41.495Z","repository":{"id":110131983,"uuid":"529788378","full_name":"YoungHaKim7/Arm64_Assembly_Language","owner":"YoungHaKim7","description":"My Youtube Channel - GlobalYoung https://www.youtube.com/@GlobalYoung7","archived":false,"fork":false,"pushed_at":"2025-09-14T16:06:58.000Z","size":3099,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-14T18:22:42.683Z","etag":null,"topics":["arm64","assembler","assembly","reverse-engineering"],"latest_commit_sha":null,"homepage":"","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/YoungHaKim7.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-08-28T07:04:28.000Z","updated_at":"2025-09-14T16:07:02.000Z","dependencies_parsed_at":"2024-06-29T15:24:51.694Z","dependency_job_id":"7f166a4b-6b8b-44e6-87b9-71d0a1676ad0","html_url":"https://github.com/YoungHaKim7/Arm64_Assembly_Language","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/YoungHaKim7/Arm64_Assembly_Language","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoungHaKim7%2FArm64_Assembly_Language","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoungHaKim7%2FArm64_Assembly_Language/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoungHaKim7%2FArm64_Assembly_Language/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoungHaKim7%2FArm64_Assembly_Language/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YoungHaKim7","download_url":"https://codeload.github.com/YoungHaKim7/Arm64_Assembly_Language/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoungHaKim7%2FArm64_Assembly_Language/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278658594,"owners_count":26023686,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"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":["arm64","assembler","assembly","reverse-engineering"],"created_at":"2024-11-16T05:12:16.817Z","updated_at":"2025-10-06T18:35:26.550Z","avatar_url":"https://github.com/YoungHaKim7.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 웹으로 어셈블리 보기Assembly(ARM binutils)\n\nhttps://assembly.godbolt.org/\n\n\u003chr\u003e\n\n# ARMv8-A Reference Manual | 출처: ARM\n\n- https://developer.arm.com/documentation/ddi0487/ak/\n- Arm Examples 암어셈블리 예제\n  - https://armasm.com/\n\n- Arm어셈블리 기초\n  - https://github.com/kangtegong/self-learning-cs/blob/main/registers/registers.md\n  - https://kyuhyuk.kr/article/raspberry-pi/2019/05/15/ARM-Assembly\n\n- ARM 어셈블리 가이드(ARM Assembly Guide 임베디드(2011. 12. 15. 14:12)\n\n  - https://blog.naver.com/gangst11/145839687\n\n  - ARM 어셈블리 가이드(ARM Assembly Guide)\n    - 이 문서는 ARM Cortex A8을 기준으로 ARM Assembly 언어를 사용하는 방법에 대해서 다룹니다.C언어는 기본적으로 안다는 가정하에 ARM 어셈블리 이해를 돕기 위하여 C언어의 문법과 연결시켜 설명을 할 것입니다.\n      - [출처] ARM 어셈블리 가이드(ARM Assembly Guide|작성자 권과장11 https://blog.naver.com/gangst11/145839687\n\n## 어셈블러의 비교\n- https://ko.wikipedia.org/wiki/%EC%96%B4%EC%85%88%EB%B8%94%EB%9F%AC%EC%9D%98_%EB%B9%84%EA%B5%90\n\n\u003chr\u003e\n\n# macOS version history\n\n- https://en.wikipedia.org/wiki/MacOS_version_history\n  - https://github.com/fxcoudert/gfortran-for-macOS/releases\n\n- Darwin(Operating System)\n  - https://en.wikipedia.org/wiki/Darwin_(operating_system)\n- AT\u0026T Unix System V\n  - https://unix.org/what_is_unix/history_timeline.html\n\n\u003chr\u003e\n\n# xcrun오류 해결 (XCode를 설치해야한다)\n\n- https://www.bpetersen.dk/post/how-to-fix-mac-os-xcrun-error-invalid-active-developer-path-missing-xcrun\n\n```\nxcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun\n```\n\n- Fortunately, there is an easy solution to that — just install, or reconfigure, the Xcode toolkit. You can either download it from the Appstore, from the Apple Developer download section, or you can install it via the Terminal:\n\n```\n$ xcode-select --install\n```\n\n- If you already have it installed and need to reset it, you can do the following (you probably need sudo rights to do that):\n\n```\n$ sudo xcode-select --reset\n```\n\n# macOS c-linking error \u0026 폴더\n\n- Clang linking error MacOS Big Sur\n  - https://forums.developer.apple.com/forums/thread/666700\n\n\n\n```\nexport LDFLAGS=-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib\nmake  # or cmake .\n```\n\n\u003chr\u003e\n\n# macOS dev.포럼 궁금한거 해결하기\n\n- https://forums.developer.apple.com/forums/tags/compiler\n\n\u003chr\u003e\n\n# ARMv4 through 7 syntax highlighting for vim\n\n- https://github.com/ARM9/arm-syntax-vim\n\n# VSCode Extension(Arm® assembly highlighting for Visual Studio Code)\n\n- https://marketplace.visualstudio.com/items?itemName=dan-c-underwood.arm\n\n  - ASM Code Lens\n    - https://marketplace.visualstudio.com/items?itemName=maziac.asm-code-lens\n\n\n# 네오빔(NeoVim)assembly(asm-lsp)\n\n- NeoVim(TSInstall)\n\n```\n:TSInstall asm\n```\n\n- Vim \\_ Assembly Highlight Syntax\n```\n:set ft=nasm  \" assembly highlight syntax\n```\n- NeoVim(asm-lsp)\n  - https://www.reddit.com/r/neovim/s/XAuQM98VY6\n    - https://github.com/bergercookie/asm-lsp\n      - Using cargo\n        - Install using the cargo package manager, either from crates.io or from github:\n```\ncargo install asm-lsp\n# or to get the latest version from github\ncargo install --git https://github.com/bergercookie/asm-lsp\n```\n\n# Vim\n- https://github.com/ARM9/arm-syntax-vim\n\n- Installation\n\n- Copy the syntax folder into your ```~/.vim``` folder\n\n- with Plug\n\n```\nPlug 'ARM9/arm-syntax-vim'\n```\n- or with Pathogen\n\n- Clone this repo into your ```~/.vim/bundle``` directory.\n\n```\ngit clone https://github.com/ARM9/arm-syntax-vim.git\n```\n\n- Using\n  - In your .vimrc:\n\n```\nau BufNewFile,BufRead *.s,*.S set filetype=arm \" arm = armv6/7\n\nau BufNewFile,BufRead *.s,*.S, *.asm set filetype=arm \" arm = armv6/7\n```\n\n\n\n- or add this line at the top or bottom of your assembly file(s):\n\n```\n@ vim:ft=armv5\n```\n\n\n\u003chr\u003e\n\n\u003chr\u003e\n\n- Markdown code block keywords used by Discord\n\n  - https://gist.github.com/alexislours/c7b12c630625db98afbfdf08f7a4ec17\n\n\u003chr\u003e\n\n# Mara Bos\n@m_ou_se\n⚛️📋 I made an overview of the ARMv8 and x86-64 machine instructions for all the common atomic operations:\n\n\u003cp\u003e\n       \u003cimg src=\"https://pbs.twimg.com/media/FhH-RYzWIAE24_v?format=jpg\u0026name=4096x4096\" /\u003e\n\u003c/p\u003e\n\n- x로 바뀐 주소(250915) https://x.com/m_ou_se/status/1590333332012662784\n  - 과거 링크 https://twitter.com/m_ou_se/status/1590333332012662784/photo/1\n\n# 예제로 어셈블리 익히기(arm assembly)\n\nhttps://github.com/below/HelloSilicon\n\n# ARM Assembly Basics Tutorial Series: \n\nhttps://azeria-labs.com/writing-arm-assembly-part-1/\n\n- ARM Assembly Basics Tutorial Series:\n  - Part 1: Introduction to ARM Assembly\n  - Part 2: Data Types Registers\n  - Part 3: ARM Instruction Set\n  - Part 4: Memory Instructions: Loading and Storing Data\n  - Part 5: Load and Store Multiple\n  - Part 6: Conditional Execution and Branching\n  - Part 7: Stack and Functions\n\n\n- A Guide to ARM64 / AArch64 Assembly on Linux with Shellcodes and Cryptography\n  - https://modexp.wordpress.com/2018/10/30/arm64-assembly/\n\n\n\u003chr\u003e\n\n# 겁나게 쉽게 배우는 Arm Assembly | you can learn assembly FAST with this technique (arm64 breakdown) | Low Level Learning\n\nhttps://youtu.be/vhyettT7sdA?si=LQ2AN5XeS5M8kJJ_\n\n\u003chr\u003e\n\n# [Armv7] CPSR 컨디셔널 비트 확인 디버깅 실습 (TRACE32)\n\nhttps://youtu.be/CTu7aBbnZyA\n\n#  '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' 책 강의 동영상\n\nhttps://www.youtube.com/playlist?list=PLRrUisvYoUw9-cTYgkbTbr9f9CpbGdq4F\n\n\n\u003cbr\u003e\n\n\u003chr\u003e\n\n# rust_웹으로 어셈블리 보기Assembly\n\nhttps://rust.godbolt.org/\n\n# Arm64_Assembly_Language\n\n내가 공부하려고 만든 영상\n\n한글강의Assembly언어001_ld_as_C언어\\_Assembly언어로 변환 #assembly\n[https://youtu.be/9yt1Enp4EwU](https://youtu.be/9yt1Enp4EwU)\n\n영상 모아 보기\n\nhttps://youtube.com/playlist?list=PLcMveqN_07mY7DpIaeGGXfnctSwzZSOgG\n\n\u003chr\u003e\n\n## arm64 assembly crash course\n\nhttps://github.com/Siguza/ios-resources/blob/master/bits/arm64.md\n\n\u003chr\u003e\n\nHow register is encoded in an ARM64 mov instruction?\n변환 할 때 조심해야할 사항\n[https://stackoverflow.com/questions/65233207/how-register-is-encoded-in-an-arm64-mov-instruction](https://stackoverflow.com/questions/65233207/how-register-is-encoded-in-an-arm64-mov-instruction)\n\nGNU and LLVM tools get this right: aarch64-linux-gnu-objdump -d shows 528c4102, the 32-bit integer interpretation of the 4 bytes. llvm-objdump -d shows 02 41 8c 52, the raw byte sequence. Both of those are equivalent and not misleading.\n\nBut https://armconverter.com/ stupidly groups it up into 02418C52 (in its default \"GDB\" mode). This is bad. If you wanted to manually encode some AArch64 shellcode, you'd use .long 0x528c4102 (on a little-endian assembler targeting e.g. like x86, AArch64, or whatever) to get a representation of MOVZ W2, #0x6208.\n\nBy convention, a single string of digits without spaces has place-values that increase from right to left, and represent a single integer value of some width. It's not you, it's https://armconverter.com/ that's the problem.\n\narmconverter has a \"GDB/LLDB\" toggle that fixes it to 528C4102 in LLDB mode, which it calls \"big endian\". But it's not a \"big endian\" byte sequence, there are no spaces so it's the 32-bit integer value. 02418C52 is the integer you'd get if you interpret the 4 bytes as big-endian (opposite of what an AArch64 CPU does), 528C4102 is the correct little-endian interpretation of those 4 bytes.\n\nI think armconverter is using \"big endian\" to actually mean \"byte reverse before removing spaces between bytes\". This is braindead misuse of terminology. Again, both GNU binutils and LLVM disassemblers get this right, the problem is purely armconverter\n\n\u003cbr\u003e\n\n\u003chr\u003e\n\u003chr\u003e\n\n# How to Read ARM64 Assembly Language\n\n[https://wolchok.org/posts/how-to-read-arm64-assembly-language/](https://wolchok.org/posts/how-to-read-arm64-assembly-language/)\n\n\u003chr\u003e\n\n\u003chr\u003e\n\n\u003cbr\u003e\n\n# C to Assembly\n\n- MIT 영상 MIT OpenCourseWare\n\n[https://youtu.be/wt7a5BOztuM](https://youtu.be/wt7a5BOztuM)\n\n\u003cbr\u003e\n\n\u003chr\u003e\n\n### clang 으로 LLVM IR Code 로 우선 변환\n\n```\n$ clang -S -emit-llvm fib.c\n```\n\nfib.c 가 fib.ll 변환됨\n\n\u003chr\u003e\n\n### 변환 된 fib.ll파일을 fib.s 어셈블리 파일로 다시 변환\n\n```\n$ clang fib.ll -S\n```\n\n```\n// 링크로 연결해서 실행 파일 만들기\n\n$ ld -macosx_version_min 12.0.0 -o fib fib.o -lSystem -syslibroot `xcrun -sdk macosx --show-sdk-path` -e _main -arch arm64\n\n```\n\n\u003cbr\u003e\n\n\u003chr\u003e\n\n# C 언어 다르게 Assembly 변환하기\n\nBasic Structure of C Program in Hindi: C Tutorial In Hindi #4\n\n[https://youtu.be/5SIBB589fAg](https://youtu.be/5SIBB589fAg)\n\nmain.s --\u003e Assembly file\n\n\u003cbr\u003e\n\n```\n\n$ gcc -Wall -save-temps main.c\n\n$ ls\n\na.out   main.bc main.c  main.i  main.o  main.s\n\n```\n\n\u003cbr\u003e\n\n\u003chr\u003e\n\notool 활용법 macOS 쓰는 툴\n\n```\n// otool 을 이용해 Assembly 코드를 볼 수 있다.\n\n$ otool -tv fib\n```\n\n\u003chr\u003e\n\n### otool 활용법(macOS)\n\nComparing C to machine language\n\nhttps://www.youtube.com/watch?v=yOyaJXpAYZQ\n\n\u003chr\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n# ❤️❤️❤️ Shellcode for macOS on M1 chips - Part 1: Quick overview of ARM64 assembly language ❤️\n\nShellcode for macOS on M1 chips - Part 1: Quick overview of ARM64 assembly language\n\n[https://youtu.be/rg6kU42LQcY](https://youtu.be/rg6kU42LQcY)\n\n### objdump 활용법\n\n.o 오브젝트 파일 만든 후\n\n```\nobjdump -d fib.o\n\n```\n\n### objdump 예시 파일\n\n```\nobjdump -d fib.o\n\nfib.o:\tfile format mach-o arm64\n\nDisassembly of section __TEXT,__text:\n\n0000000000000000 \u003cltmp0\u003e:\n       0: ff 83 00 d1  \tsub\tsp, sp, #32\n       4: fd 7b 01 a9  \tstp\tx29, x30, [sp, #16]\n       8: fd 43 00 91  \tadd\tx29, sp, #16\n       c: e0 0b 00 b9  \tstr\tw0, [sp, #8]\n      10: e8 0b 40 b9  \tldr\tw8, [sp, #8]\n      14: 08 09 00 71  \tsubs\tw8, w8, #2\n      18: aa 00 00 54  \tb.ge\t0x2c \u003cltmp0+0x2c\u003e\n      1c: 01 00 00 14  \tb\t0x20 \u003cltmp0+0x20\u003e\n      20: e8 0b 40 b9  \tldr\tw8, [sp, #8]\n      24: a8 c3 1f b8  \tstur\tw8, [x29, #-4]\n      28: 0e 00 00 14  \tb\t0x60 \u003cltmp0+0x60\u003e\n      2c: e8 0b 40 b9  \tldr\tw8, [sp, #8]\n      30: 00 05 00 71  \tsubs\tw0, w8, #1\n      34: f3 ff ff 97  \tbl\t0x0 \u003cltmp0\u003e\n      38: e0 07 00 b9  \tstr\tw0, [sp, #4]\n      3c: e8 0b 40 b9  \tldr\tw8, [sp, #8]\n      40: 00 09 00 71  \tsubs\tw0, w8, #2\n      44: ef ff ff 97  \tbl\t0x0 \u003cltmp0\u003e\n      48: e0 03 00 b9  \tstr\tw0, [sp]\n      4c: e8 07 40 b9  \tldr\tw8, [sp, #4]\n      50: e9 03 40 b9  \tldr\tw9, [sp]\n      54: 08 01 09 0b  \tadd\tw8, w8, w9\n      58: a8 c3 1f b8  \tstur\tw8, [x29, #-4]\n      5c: 01 00 00 14  \tb\t0x60 \u003cltmp0+0x60\u003e\n      60: a0 c3 5f b8  \tldur\tw0, [x29, #-4]\n      64: fd 7b 41 a9  \tldp\tx29, x30, [sp, #16]\n      68: ff 83 00 91  \tadd\tsp, sp, #32\n      6c: c0 03 5f d6  \tret\n\n0000000000000070 \u003c_main\u003e:\n      70: ff 03 01 d1  \tsub\tsp, sp, #64\n      74: fd 7b 03 a9  \tstp\tx29, x30, [sp, #48]\n      78: fd c3 00 91  \tadd\tx29, sp, #48\n      7c: 08 00 80 52  \tmov\tw8, #0\n      80: a8 43 1f b8  \tstur\tw8, [x29, #-12]\n      84: bf c3 1f b8  \tstur\twzr, [x29, #-4]\n      88: 08 05 80 52  \tmov\tw8, #40\n      8c: a8 83 1f b8  \tstur\tw8, [x29, #-8]\n      90: a9 83 5f b8  \tldur\tw9, [x29, #-8]\n      94: e8 03 09 aa  \tmov\tx8, x9\n      98: e8 0f 00 f9  \tstr\tx8, [sp, #24]\n      9c: a0 83 5f b8  \tldur\tw0, [x29, #-8]\n      a0: 00 00 00 94  \tbl\t0xa0 \u003c_main+0x30\u003e\n      a4: e8 0f 40 f9  \tldr\tx8, [sp, #24]\n      a8: ea 03 00 aa  \tmov\tx10, x0\n      ac: 00 00 00 90  \tadrp\tx0, 0x0 \u003c_main+0x3c\u003e\n      b0: 00 00 00 91  \tadd\tx0, x0, #0\n      b4: e9 03 00 91  \tmov\tx9, sp\n      b8: 28 01 00 f9  \tstr\tx8, [x9]\n      bc: e8 03 0a aa  \tmov\tx8, x10\n      c0: 28 05 00 f9  \tstr\tx8, [x9, #8]\n      c4: 00 00 00 94  \tbl\t0xc4 \u003c_main+0x54\u003e\n      c8: a0 43 5f b8  \tldur\tw0, [x29, #-12]\n      cc: fd 7b 43 a9  \tldp\tx29, x30, [sp, #48]\n      d0: ff 03 01 91  \tadd\tsp, sp, #64\n      d4: c0 03 5f d6  \tret\n```\n\n\u003cbr\u003e\n\n\u003chr\u003e\n\n### 실행 파일 만들어서 하는 방법\n\n./fib\n실행 파일 만들고\n명령어\n\n```\n$ otool -tv fib\n```\n\n```\n$ otool -tv fib\n\nfib:\n(__TEXT,__text) section\n_fib:\n0000000100003ec4\tsub\tsp, sp, #0x20\n0000000100003ec8\tstp\tx29, x30, [sp, #0x10]\n0000000100003ecc\tadd\tx29, sp, #0x10\n0000000100003ed0\tstr\tw0, [sp, #0x8]\n0000000100003ed4\tldr\tw8, [sp, #0x8]\n0000000100003ed8\tsubs\tw8, w8, #0x2\n0000000100003edc\tb.ge\t0x100003ef0\n0000000100003ee0\tb\t0x100003ee4\n0000000100003ee4\tldr\tw8, [sp, #0x8]\n0000000100003ee8\tstur\tw8, [x29, #-0x4]\n0000000100003eec\tb\t0x100003f24\n0000000100003ef0\tldr\tw8, [sp, #0x8]\n0000000100003ef4\tsubs\tw0, w8, #0x1\n0000000100003ef8\tbl\t_fib\n0000000100003efc\tstr\tw0, [sp, #0x4]\n0000000100003f00\tldr\tw8, [sp, #0x8]\n0000000100003f04\tsubs\tw0, w8, #0x2\n0000000100003f08\tbl\t_fib\n0000000100003f0c\tstr\tw0, [sp]\n0000000100003f10\tldr\tw8, [sp, #0x4]\n0000000100003f14\tldr\tw9, [sp]\n0000000100003f18\tadd\tw8, w8, w9\n0000000100003f1c\tstur\tw8, [x29, #-0x4]\n0000000100003f20\tb\t0x100003f24\n0000000100003f24\tldur\tw0, [x29, #-0x4]\n0000000100003f28\tldp\tx29, x30, [sp, #0x10]\n0000000100003f2c\tadd\tsp, sp, #0x20\n0000000100003f30\tret\n_main:\n0000000100003f34\tsub\tsp, sp, #0x40\n0000000100003f38\tstp\tx29, x30, [sp, #0x30]\n0000000100003f3c\tadd\tx29, sp, #0x30\n0000000100003f40\tmov\tw8, #0x0\n0000000100003f44\tstur\tw8, [x29, #-0xc]\n0000000100003f48\tstur\twzr, [x29, #-0x4]\n0000000100003f4c\tmov\tw8, #0x28\n0000000100003f50\tstur\tw8, [x29, #-0x8]\n0000000100003f54\tldur\tw9, [x29, #-0x8]\n0000000100003f58\tmov\tx8, x9\n0000000100003f5c\tstr\tx8, [sp, #0x18]\n0000000100003f60\tldur\tw0, [x29, #-0x8]\n0000000100003f64\tbl\t_fib\n0000000100003f68\tldr\tx8, [sp, #0x18]\n0000000100003f6c\tmov\tx10, x0\n0000000100003f70\tadrp\tx0, 0 ; 0x100003000\n0000000100003f74\tadd\tx0, x0, #0xfa8 ; literal pool for: \"fib(%d) %d \\n\"\n0000000100003f78\tmov\tx9, sp\n0000000100003f7c\tstr\tx8, [x9]\n0000000100003f80\tmov\tx8, x10\n0000000100003f84\tstr\tx8, [x9, #0x8]\n0000000100003f88\tbl\t0x100003f9c ; symbol stub for: _printf\n0000000100003f8c\tldur\tw0, [x29, #-0xc]\n0000000100003f90\tldp\tx29, x30, [sp, #0x30]\n0000000100003f94\tadd\tsp, sp, #0x40\n0000000100003f98\tret\n```\n\n\u003cbr\u003e\n\n\u003chr\u003e\n\n\u003cbr\u003e\n\n\u003cbr\u003e\n\n## God-Tier Developer Roadmap\n\nGod-Tier Developer Roadmap | Fireship\n\n[https://youtu.be/pEfrdAtAmqk](https://youtu.be/pEfrdAtAmqk)\n\n\u003chr\u003e\n\n\u003cbr\u003e\n\n### 자료 정리함\n\nC코드를 ll로 변환 후 Assembly ❤️바꾸는 방법(LLVM\u0026Assembly코드는 M1pro arm64기계 기준임macOS)otool활용\n\n출처: https://economiceco.tistory.com/14882 [경제PLUS:티스토리]\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyounghakim7%2Farm64_assembly_language","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyounghakim7%2Farm64_assembly_language","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyounghakim7%2Farm64_assembly_language/lists"}