Answer
Create your assembly language source file. The Ex__5_hello_arm.s
file contains the following example solution to this exercise:
.text .global _start _start: // Print the message to file 1 (stdout) with syscall 4 mov r0, #1 ldr r1, =msg mov r2, #msg_len mov r7, #4 svc 0 // Exit the program with syscall 1, returning status 0 mov r0, #0 mov r7, #1 svc 0 .data msg: .ascii "Hello, Computer Architect!" msg_len = . - msg
Build the executable with these commands:
arm-linux-androideabi-as -al=Ex__5_hello_arm.lst -o Ex__5_hello_arm.o Ex__5_hello_arm.s arm-linux-androideabi-ld -o Ex__5_hello_arm Ex__5_hello_arm.o
This is the output produced by copying the program to an Android device and running it:
C:\>adb devices * daemon not running; starting now at tcp:5037 * daemon started successfully List of devices attached 9826f541374f4b4a68 device C:\>adb push Ex__5_hello_arm...