×
单片机 > 单片机程序设计 > 详情

Android ARM 汇编学习(一)

发布时间:2020-05-28 发布时间:
|
给自己挖了个坑,一切都得从“Hello World”开始。

hello.S

.data

msg:
.ascii "Hello, World! "
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 */

arm-linux-androideabi-as -o hello.o hello.S

arm-linux-androideabi-ld -s -o hello hello.o

adb push hello /data/local/tmp/hello
adb shell /data/local/tmp/hello



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
浅谈AVR中定时器几种工作模式