hello.S文件
.data msg: .ascii "Hello, ARM!\n" len = . - msg .text .globl _start _start: /* syscall write(int fd, const void *buf, size_t count) */ mov %r0, $1 /* fd -> stdout */ ldr %r1, =msg /* buf -> msg */ ldr %r2, =len /* count -> len(msg) */ mov %r7, $4 /* write is syscall #4 */ swi $0 /* invoke syscall */ /* syscall exit(int status) */ mov %r0, $0 /* status -> 0 */ mov %r7, $1 /* exit is syscall #1 */ swi $0 /* invoke syscall */
记得最后加个空格或者回车,不然会报hello.S:21: Warning: partial line at end of file ignored
arm-linux-androideabi-as -o hello.o hello.S
arm-linux-androideabi-ld -s -o hello hello.o
也是个学习ARM汇编的方法
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』