arm.s
1 # https://www.youtube.com/watch?v=FV6P5eRmMh8 2 # https://developer.arm.com/documentation/dui0801/l/Structure-of-Assembly-Language-Modules/Syntax-of-source-lines-in-assembly-language?lang=en 3 # https://www.chromium.org/chromium-os/developer-library/reference/linux-constants/syscalls/#arm-32-biteabi 4 # ==================================== # 5 # projectile compile in emacs 6 # ==================================== # 7 # ~/.zvm/bin/zig build-exe learning/assembly/arm.s -target arm-linux-musleabi -fno-entry -femit-bin=learning/assembly/arm 8 9 # ~/.zvm/bin/zig build-obj learning/assembly/arm.s -target arm-linux-musleabi -fno-entry 10 # ==================================== # 11 # file arm 12 # nm arm 13 # llvm-objdump -d arm 14 # ==================================== # 15 # ssh framework-desktop 16 # sshfs mfarabi@macos:/Users/mfarabi/MFarabi619/learning/assembly /home/mfarabi/workspace/learning/assembly -o reconnect 17 # cd ~/workspace/learning/assembly 18 # qemu-arm ./arm 19 # ==================================== # 20 21 .global _start 22 .section .text 23 24 _start: 25 mov r7, #0x4 26 mov r0, #1 27 ldr r1, =message 28 mov r2, #14 29 swi 0 30 31 mov r7, #0x1 32 mov r0, #65 33 swi 0 34 35 .section .data 36 message: 37 .ascii "Hello, World!\n"