/ docs / assembly / arm.s
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"